home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / thinkref / archive / THINKPascalUH2.1.sea / THINKPas Univ Hdr 2.1 / Interfaces / GXPrinting.p < prev    next >
Text File  |  1995-09-14  |  117KB  |  3,647 lines

  1. { Converted with MPW2TPas Tuesday, September 12, 1995 7:02:30 PM }
  2. {}
  3. {     File:        GXPrinting.p}
  4. { }
  5. {     Contains:    This file contains all printing APIs except for driver/extension specific ones.}
  6. { }
  7. {     Version:    Technology:    Quickdraw GX 1.1}
  8. {                 Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18}
  9. { }
  10. {     Copyright:    © 1984-1995 by Apple Computer, Inc.}
  11. {                 All rights reserved.}
  12. { }
  13. {     Bugs?:        If you find a problem with this file, use the Apple Bug Reporter}
  14. {                 stack.  Include the file and version information (from above)}
  15. {                 in the problem description and send to:}
  16. {                     Internet:    apple.bugs@applelink.apple.com}
  17. {                     AppleLink:    APPLE.BUGS}
  18. { }
  19. {}
  20.  
  21. unit GXPrinting;
  22. interface
  23.  
  24.  
  25. {$IFC UNDEFINED __GXPRINTING__}
  26. {$SETC __GXPRINTING__ := 1}
  27.  
  28.     uses
  29.         ConditionalMacros, Types, Collections, Quickdraw, Dialogs, Errors, Files, GXFonts, GXMath, GXTypes, Controls, Lists, Menus, GXMessages, Printing, Quickdraw;
  30.  
  31. { $PUSH}
  32. { $ALIGN MAC68K}
  33. { $LibExport+}
  34.  
  35.     const
  36.         gestaltGXPrintingMgrVersion = 'pmgr';
  37.         gestaltGXVersion = 'qdgx';
  38.  
  39.  
  40.     type
  41.         gxOwnerSignature = LONGINT;
  42.  
  43. {$IFC OLDROUTINENAMES }
  44.         Signature = LONGINT;
  45.  
  46. {$ENDC}
  47.         gxPrinter = Ptr;
  48.  
  49.         gxJob = Ptr;
  50.  
  51.         gxFormat = Ptr;
  52.  
  53.         gxPaperType = Ptr;
  54.  
  55.         gxPrintFile = Ptr;
  56.  
  57.         gxLoopStatus = BOOLEAN;
  58.  
  59.  
  60.     const
  61.         gxStopLooping = false;
  62.         gxKeepLooping = true;
  63.  
  64.     type
  65.         gxViewDeviceProcPtr = ProcPtr;  { FUNCTION gxViewDevice(aViewDevice: gxViewDevice; refCon: UNIV Ptr): gxLoopStatus; }
  66.         gxViewDeviceUPP = UniversalProcPtr;
  67.  
  68.     const
  69.         uppgxViewDeviceProcInfo = $000003D0; { FUNCTION (4 byte param, 4 byte param): 1 byte result; }
  70.  
  71.     function NewgxViewDeviceProc (userRoutine: gxViewDeviceProcPtr): gxViewDeviceUPP;
  72.     {$IFC NOT GENERATINGCFM }
  73.     inline
  74.         $2E9F;
  75.     {$ENDC}
  76.  
  77.     function CallgxViewDeviceProc (aViewDevice: gxViewDevice; refCon: univ Ptr; userRoutine: gxViewDeviceUPP): gxLoopStatus;
  78.     {$IFC NOT GENERATINGCFM}
  79.     inline
  80.         $205F, $4E90;
  81.     {$ENDC}
  82.     type
  83.         gxFormatProcPtr = ProcPtr;  { FUNCTION gxFormat(aFormat: gxFormat; refCon: UNIV Ptr): gxLoopStatus; }
  84.         gxFormatUPP = UniversalProcPtr;
  85.  
  86.     const
  87.         uppgxFormatProcInfo = $000003D0; { FUNCTION (4 byte param, 4 byte param): 1 byte result; }
  88.  
  89.     function NewgxFormatProc (userRoutine: gxFormatProcPtr): gxFormatUPP;
  90.     {$IFC NOT GENERATINGCFM }
  91.     inline
  92.         $2E9F;
  93.     {$ENDC}
  94.  
  95.     function CallgxFormatProc (aFormat: gxFormat; refCon: univ Ptr; userRoutine: gxFormatUPP): gxLoopStatus;
  96.     {$IFC NOT GENERATINGCFM}
  97.     inline
  98.         $205F, $4E90;
  99.     {$ENDC}
  100.     type
  101.         gxPaperTypeProcPtr = ProcPtr;  { FUNCTION gxPaperType(aPapertype: gxPaperType; refCon: UNIV Ptr): gxLoopStatus; }
  102.         gxPaperTypeUPP = UniversalProcPtr;
  103.  
  104.     const
  105.         uppgxPaperTypeProcInfo = $000003D0; { FUNCTION (4 byte param, 4 byte param): 1 byte result; }
  106.  
  107.     function NewgxPaperTypeProc (userRoutine: gxPaperTypeProcPtr): gxPaperTypeUPP;
  108.     {$IFC NOT GENERATINGCFM }
  109.     inline
  110.         $2E9F;
  111.     {$ENDC}
  112.  
  113.     function CallgxPaperTypeProc (aPapertype: gxPaperType; refCon: univ Ptr; userRoutine: gxPaperTypeUPP): gxLoopStatus;
  114.     {$IFC NOT GENERATINGCFM}
  115.     inline
  116.         $205F, $4E90;
  117.     {$ENDC}
  118.     type
  119.         gxPrintingFlattenProcPtr = ProcPtr;  { FUNCTION gxPrintingFlatten(size: LONGINT; data: UNIV Ptr; refCon: UNIV Ptr): OSErr; }
  120.         gxPrintingFlattenUPP = UniversalProcPtr;
  121.  
  122.     const
  123.         uppgxPrintingFlattenProcInfo = $00000FE0; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  124.  
  125.     function NewgxPrintingFlattenProc (userRoutine: gxPrintingFlattenProcPtr): gxPrintingFlattenUPP;
  126.     {$IFC NOT GENERATINGCFM }
  127.     inline
  128.         $2E9F;
  129.     {$ENDC}
  130.  
  131.     function CallgxPrintingFlattenProc (size: LONGINT; data: univ Ptr; refCon: univ Ptr; userRoutine: gxPrintingFlattenUPP): OSErr;
  132.     {$IFC NOT GENERATINGCFM}
  133.     inline
  134.         $205F, $4E90;
  135.     {$ENDC}
  136.  
  137.     type
  138.         gxViewDeviceProc = gxViewDeviceUPP;
  139.  
  140.         gxFormatProc = gxFormatUPP;
  141.  
  142.         gxPaperTypeProc = gxPaperTypeUPP;
  143.  
  144.         gxPrintingFlattenProc = gxPrintingFlattenUPP;
  145.  
  146. {}
  147. {    The following constants are used to set collection item flags in printing}
  148. {    collections. The Printing Manager purges certain items whenever a driver}
  149. {    switch occurs. If the formatting driver changes, all items marked as}
  150. {    gxVolatileFormattingDriverCategory will be purged.  If the output driver}
  151. {    changes, all items marked as gxVolatileOutputDriverCategory will be purged.}
  152. {    Note that to prevent items from being flattened when GXFlattenJob is called,}
  153. {    you should unset the collectionPersistenceBit (defined in Collections.h),}
  154. {    which is on by default.}
  155. {}
  156. { Structure stored in collection items' user attribute bits }
  157.         gxCollectionCategory = INTEGER;
  158.  
  159.  
  160.     const
  161.         gxNoCollectionCategory = $0000;
  162.         gxOutputDriverCategory = $0001;
  163.         gxFormattingDriverCategory = $0002;
  164.         gxDriverVolatileCategory = $0004;
  165.         gxVolatileOutputDriverCategory = $5;
  166.         gxVolatileFormattingDriverCategory = $6;
  167.  
  168. {}
  169. {}
  170. {    >>>>>> JOB COLLECTION ITEMS <<<<<<}
  171. {}
  172. {}
  173. { gxJobInfo COLLECTION ITEM }
  174.         gxJobTag = 'job ';
  175.  
  176.  
  177.     type
  178.         gxJobInfo = record
  179.                 numPages: LONGINT;                                { Number of pages in the document }
  180.                 priority: LONGINT;                                { Priority of this job plus "is it on hold?" }
  181.                 timeToPrint: LONGINT;                                { When to print job, if scheduled }
  182.                 jobTimeout: LONGINT;                                { Timeout value, in ticks }
  183.                 firstPageToPrint: LONGINT;                                { Start printing from this page }
  184.                 jobAlert: INTEGER;                                { How to alert user when printing }
  185.                 appName: Str31;                                    { Which application printed the document }
  186.                 documentName: Str31;                                    { The name of the document being printed }
  187.                 userName: Str31;                                    { The owner name of the machine that printed the document }
  188.             end;
  189.  
  190. { priority field constants }
  191.  
  192.     const
  193.         gxPrintJobHoldingBit = $00001000;                    { This bit is set if the job is on hold. }
  194.  
  195.         gxPrintJobUrgent = $00000001;
  196.         gxPrintJobAtTime = $00000002;
  197.         gxPrintJobASAP = $00000003;
  198.         gxPrintJobHolding = $1003;
  199.         gxPrintJobHoldingAtTime = $1002;
  200.         gxPrintJobHoldingUrgent = $1001;
  201.  
  202. { jobAlert field constants }
  203.         gxNoPrintTimeAlert = 0;                            { Don't alert user when we print }
  204.         gxAlertBefore = 1;                            { Alert user before we print }
  205.         gxAlertAfter = 2;                            { Alert user after we print }
  206.         gxAlertBothTimes = 3;                            { Alert before and after we print }
  207.  
  208. { jobTimeout field constants }
  209.         gxThirtySeconds = 1800;                            { 30 seconds in ticks }
  210.         gxTwoMinutes = 7200;                            { 2 minutes in ticks }
  211.  
  212. { gxCollationTag COLLECTION ITEM }
  213.         gxCollationTag = 'sort';
  214.  
  215.  
  216.     type
  217.         gxCollationInfo = record
  218.                 collation: BOOLEAN;                                { True if copies are to be collated }
  219.                 padByte: CHAR;
  220.             end;
  221.  
  222. { gxCopiesTag COLLECTION ITEM }
  223.  
  224.     const
  225.         gxCopiesTag = 'copy';
  226.  
  227.  
  228.     type
  229.         gxCopiesInfo = record
  230.                 copies: LONGINT;                                { Number of copies of the document to print }
  231.             end;
  232.  
  233. { gxPageRangeTag COLLECTION ITEM }
  234.  
  235.     const
  236.         gxPageRangeTag = 'rang';
  237.  
  238.  
  239.     type
  240.         gxSimplePageRangeInfo = record
  241.                 optionChosen: CHAR;                                    { From options listed below }
  242.                 printAll: BOOLEAN;                                { True if user wants to print all pages }
  243.                 fromPage: LONGINT;                                { For gxDefaultPageRange, current value }
  244.                 toPage: LONGINT;                                { For gxDefaultPageRange, current value }
  245.             end;
  246.  
  247.         gxPageRangeInfo = record
  248.                 simpleRange: gxSimplePageRangeInfo;                    { Info which will be returned for GetJobPageRange }
  249.                 fromString: Str31;                                    { For gxCustomizePageRange, current value }
  250.                 toString: Str31;                                    { For gxCustomizePageRange, current value }
  251.                 minFromPage: LONGINT;                                { For gxDefaultPageRange, we parse with this, ignored if nil }
  252.                 maxToPage: LONGINT;                                { For gxDefaultPageRange, we parse with this, ignored if nil }
  253.                 replaceString: array[0..0] of CHAR;                    { For gxReplacePageRange, string to display }
  254.             end;
  255.  
  256. { optionChosen field constants for SimplePageRangeInfo }
  257.  
  258.     const
  259.         gxDefaultPageRange = 0;
  260.         gxReplacePageRange = 1;
  261.         gxCustomizePageRange = 2;
  262.  
  263. { gxQualityTag COLLECTION ITEM }
  264.         gxQualityTag = 'qual';
  265.  
  266.  
  267.     type
  268.         gxQualityInfo = record
  269.                 disableQuality: BOOLEAN;                                { True to disable standard quality controls }
  270.                 padByte: CHAR;
  271.                 defaultQuality: INTEGER;                                { The default quality value }
  272.                 currentQuality: INTEGER;                                { The current quality value }
  273.                 qualityCount: INTEGER;                                { The number of quality menu items in popup menu }
  274.                 qualityNames: array[0..0] of CHAR;                    { An array of packed pascal strings for popup menu titles }
  275.             end;
  276.  
  277. { gxFileDestinationTag COLLECTION ITEM }
  278.  
  279.     const
  280.         gxFileDestinationTag = 'dest';
  281.  
  282.  
  283.     type
  284.         gxFileDestinationInfo = record
  285.                 toFile: BOOLEAN;                                { True if destination is a file }
  286.                 padByte: CHAR;
  287.             end;
  288.  
  289. { gxFileLocationTag COLLECTION ITEM }
  290.  
  291.     const
  292.         gxFileLocationTag = 'floc';
  293.  
  294.  
  295.     type
  296.         gxFileLocationInfo = record
  297.                 fileSpec: FSSpec;                                    { Location to put file, if destination is file }
  298.             end;
  299.  
  300. { gxFileFormatTag COLLECTION ITEM }
  301.  
  302.     const
  303.         gxFileFormatTag = 'ffmt';
  304.  
  305.  
  306.     type
  307.         gxFileFormatInfo = record
  308.                 fileFormatName: Str31;                                    { Name of file format (e.g. "PostScript") if destination is file }
  309.             end;
  310.  
  311. { gxFileFontsTag COLLECTION ITEM }
  312.  
  313.     const
  314.         gxFileFontsTag = 'incf';
  315.  
  316.  
  317.     type
  318.         gxFileFontsInfo = record
  319.                 includeFonts: CHAR;                                    { Which fonts to include, if destination is file }
  320.                 padByte: CHAR;
  321.             end;
  322.  
  323. { includeFonts field constants }
  324.  
  325.     const
  326.         gxIncludeNoFonts = 1;                            { Include no fonts }
  327.         gxIncludeAllFonts = 2;                            { Include all fonts }
  328.         gxIncludeNonStandardFonts = 3;                            { Include only fonts that aren't in the standard LW set }
  329.  
  330. { gxPaperFeedTag COLLECTION ITEM }
  331.         gxPaperFeedTag = 'feed';
  332.  
  333.  
  334.     type
  335.         gxPaperFeedInfo = record
  336.                 autoFeed: BOOLEAN;                                { True if automatic feed, false if manual }
  337.                 padByte: CHAR;
  338.             end;
  339.  
  340. { gxTrayFeedTag COLLECTION ITEM }
  341.  
  342.     const
  343.         gxTrayFeedTag = 'tray';
  344.  
  345.  
  346.     type
  347.         gxTrayIndex = LONGINT;
  348.  
  349.         gxTrayFeedInfo = record
  350.                 feedTrayIndex: gxTrayIndex;                            { Tray to feed paper from }
  351.                 manualFeedThisPage: BOOLEAN;                                { Signals manual feeding for the page }
  352.                 padByte: CHAR;
  353.             end;
  354.  
  355. { gxManualFeedTag COLLECTION ITEM }
  356.  
  357.     const
  358.         gxManualFeedTag = 'manf';
  359.  
  360.  
  361.     type
  362.         gxManualFeedInfo = record
  363.                 numPaperTypeNames: LONGINT;                                { Number of paperTypes to manually feed }
  364.                 paperTypeNames: array[0..0] of Str31;                    { Array of names of paperTypes to manually feed }
  365.             end;
  366.  
  367. { gxNormalMappingTag COLLECTION ITEM }
  368.  
  369.     const
  370.         gxNormalMappingTag = 'nmap';
  371.  
  372.  
  373.     type
  374.         gxNormalMappingInfo = record
  375.                 normalPaperMapping: BOOLEAN;                                { True if not overriding normal paper mapping }
  376.                 padByte: CHAR;
  377.             end;
  378.  
  379. { gxSpecialMappingTag COLLECTION ITEM }
  380.  
  381.     const
  382.         gxSpecialMappingTag = 'smap';
  383.  
  384.  
  385.     type
  386.         gxSpecialMappingInfo = record
  387.                 specialMapping: CHAR;                                    { Enumerated redirect, scale or tile setting }
  388.                 padByte: CHAR;
  389.             end;
  390.  
  391. { specialMapping field constants }
  392.  
  393.     const
  394.         gxRedirectPages = 1;                            { Redirect pages to a papertype and clip if necessary }
  395.         gxScalePages = 2;                            { Scale pages if necessary }
  396.         gxTilePages = 3;                            { Tile pages if necessary }
  397.  
  398. { gxTrayMappingTag COLLECTION ITEM }
  399.         gxTrayMappingTag = 'tmap';
  400.  
  401.  
  402.     type
  403.         gxTrayMappingInfo = record
  404.                 mapPaperToTray: gxTrayIndex;                            { Tray to map all paper to }
  405.             end;
  406.  
  407. { gxPaperMappingTag COLLECTION ITEM }
  408. { This collection item contains a flattened paper type resource }
  409.  
  410.     const
  411.         gxPaperMappingTag = 'pmap';
  412.  
  413. { gxPrintPanelTag COLLECTION ITEM }
  414.         gxPrintPanelTag = 'ppan';
  415.  
  416.  
  417.     type
  418.         gxPrintPanelInfo = record
  419.                 startPanelName: Str31;                                    { Name of starting panel in Print dialog }
  420.             end;
  421.  
  422. { gxFormatPanelTag COLLECTION ITEM }
  423.  
  424.     const
  425.         gxFormatPanelTag = 'fpan';
  426.  
  427.  
  428.     type
  429.         gxFormatPanelInfo = record
  430.                 startPanelName: Str31;                                    { Name of starting panel in Format dialog }
  431.             end;
  432.  
  433. { gxTranslatedDocumentTag COLLECTION ITEM }
  434.  
  435.     const
  436.         gxTranslatedDocumentTag = 'trns';
  437.  
  438.  
  439.     type
  440.         gxTranslatedDocumentInfo = record
  441.                 translatorInfo: LONGINT;                                { Information from the translation process }
  442.             end;
  443.  
  444. {}
  445. {}
  446. {    >>>>>> FORMAT COLLECTION ITEMS <<<<<<}
  447. {}
  448. {}
  449. { gxPaperTypeLockTag COLLECTION ITEM }
  450.  
  451.     const
  452.         gxPaperTypeLockTag = 'ptlk';
  453.  
  454.  
  455.     type
  456.         gxPaperTypeLockInfo = record
  457.                 paperTypeLocked: BOOLEAN;                                { True if format's paperType is locked }
  458.                 padByte: CHAR;
  459.             end;
  460.  
  461. { gxOrientationTag COLLECTION ITEM }
  462.  
  463.     const
  464.         gxOrientationTag = 'layo';
  465.  
  466.  
  467.     type
  468.         gxOrientationInfo = record
  469.                 orientation: CHAR;                                    { An enumerated orientation value }
  470.                 padByte: CHAR;
  471.             end;
  472.  
  473. { orientation field constants }
  474.  
  475.     const
  476.         gxPortraitLayout = 0;                            { Portrait }
  477.         gxLandscapeLayout = 1;                            { Landscape }
  478.         gxRotatedPortraitLayout = 2;                            { Portrait, rotated 180° }
  479.         gxRotatedLandscapeLayout = 3;                            { Landscape, rotated 180°  }
  480.  
  481. { gxScalingTag COLLECTION ITEM }
  482.         gxScalingTag = 'scal';
  483.  
  484.  
  485.     type
  486.         gxScalingInfo = record
  487.                 horizontalScaleFactor: Fixed;                                    { Current horizontal scaling factor }
  488.                 verticalScaleFactor: Fixed;                                    { Current vertical scaling factor }
  489.                 minScaling: INTEGER;                                { Minimum scaling allowed }
  490.                 maxScaling: INTEGER;                                { Maximum scaling allowed }
  491.             end;
  492.  
  493. { gxDirectModeTag COLLECTION ITEM }
  494.  
  495.     const
  496.         gxDirectModeTag = 'dirm';
  497.  
  498.  
  499.     type
  500.         gxDirectModeInfo = record
  501.                 directModeOn: BOOLEAN;                                { True if a direct mode is enabled }
  502.                 padByte: CHAR;
  503.             end;
  504.  
  505. { gxFormatHalftoneTag COLLECTION ITEM }
  506.  
  507.     const
  508.         gxFormatHalftoneTag = 'half';
  509.  
  510.  
  511.     type
  512.         gxFormatHalftoneInfo = record
  513.                 numHalftones: LONGINT;                                { Number of halftone records }
  514.                 halftones: array[0..0] of gxHalftone;                { The halftone records }
  515.             end;
  516.  
  517. { gxInvertPageTag COLLECTION ITEM }
  518.  
  519.     const
  520.         gxInvertPageTag = 'invp';
  521.  
  522.  
  523.     type
  524.         gxInvertPageInfo = record
  525.                 padByte: CHAR;
  526.                 invert: BOOLEAN;                                { If true, invert page }
  527.             end;
  528.  
  529. { gxFlipPageHorizontalTag COLLECTION ITEM }
  530.  
  531.     const
  532.         gxFlipPageHorizontalTag = 'flph';
  533.  
  534.  
  535.     type
  536.         gxFlipPageHorizontalInfo = record
  537.                 padByte: CHAR;
  538.                 flipHorizontal: BOOLEAN;                                { If true, flip x coordinates on page }
  539.             end;
  540.  
  541. { gxFlipPageVerticalTag COLLECTION ITEM }
  542.  
  543.     const
  544.         gxFlipPageVerticalTag = 'flpv';
  545.  
  546.  
  547.     type
  548.         gxFlipPageVerticalInfo = record
  549.                 padByte: CHAR;
  550.                 flipVertical: BOOLEAN;                                { If true, flip y coordinates on page }
  551.             end;
  552.  
  553. { gxPreciseBitmapsTag COLLECTION ITEM }
  554.  
  555.     const
  556.         gxPreciseBitmapsTag = 'pbmp';
  557.  
  558.  
  559.     type
  560.         gxPreciseBitmapInfo = record
  561.                 preciseBitmaps: BOOLEAN;                                { If true, scale page by 96% }
  562.                 padByte: CHAR;
  563.             end;
  564.  
  565. {}
  566. {}
  567. {    >>>>>> PAPERTYPE COLLECTION ITEMS <<<<<<}
  568. {}
  569. {}
  570. { gxBaseTag COLLECTION ITEM }
  571.  
  572.     const
  573.         gxBaseTag = 'base';
  574.  
  575.  
  576.     type
  577.         gxBaseInfo = record
  578.                 baseType: LONGINT;                                { PaperType's base type }
  579.             end;
  580.  
  581. { baseType field constants }
  582.  
  583.     const
  584.         gxUnknownBase = 0;                            { Base paper type from which this paper type is }
  585.         gxUSLetterBase = 1;                            { derived.  This is not a complete set. }
  586.         gxUSLegalBase = 2;
  587.         gxA4LetterBase = 3;
  588.         gxB5LetterBase = 4;
  589.         gxTabloidBase = 5;
  590.  
  591. { gxCreatorTag COLLECTION ITEM }
  592.         gxCreatorTag = 'crea';
  593.  
  594.  
  595.     type
  596.         gxCreatorInfo = record
  597.                 creator: OSType;                                    { PaperType's creator }
  598.             end;
  599.  
  600. { gxUnitsTag COLLECTION ITEM }
  601.  
  602.     const
  603.         gxUnitsTag = 'unit';
  604.  
  605.  
  606.     type
  607.         gxUnitsInfo = record
  608.                 units: CHAR;                                    { PaperType's units (used by PaperType Editor). }
  609.                 padByte: CHAR;
  610.             end;
  611.  
  612. { units field constants }
  613.  
  614.     const
  615.         gxPicas = 0;                            { Pica measurement }
  616.         gxMMs = 1;                            { Millimeter measurement }
  617.         gxInches = 2;                            { Inches measurement }
  618.  
  619. { gxFlagsTag COLLECTION ITEM }
  620.         gxFlagsTag = 'flag';
  621.  
  622.  
  623.     type
  624.         gxFlagsInfo = record
  625.                 flags: LONGINT;                                { PaperType's flags }
  626.             end;
  627.  
  628. { flags field constants }
  629.  
  630.     const
  631.         gxOldPaperTypeFlag = $00800000;                    { Indicates a paper type for compatibility printing }
  632.         gxNewPaperTypeFlag = $00400000;                    { Indicates a paper type for QuickDraw GX-aware printing }
  633.         gxOldAndNewFlag = $00C00000;                    { Indicates a paper type that's both old and new }
  634.         gxDefaultPaperTypeFlag = $00100000;                    { Indicates the default paper type in the group }
  635.  
  636. { gxCommentTag COLLECTION ITEM }
  637.         gxCommentTag = 'cmnt';
  638.  
  639.  
  640.     type
  641.         gxCommentInfo = record
  642.                 comment: Str255;                                    { PaperType's comment }
  643.             end;
  644.  
  645. {}
  646. {}
  647. {    >>>>>> PRINTER VIEWDEVICE TAGS <<<<<<}
  648. {}
  649. {}
  650. { gxPenTableTag COLLECTION ITEM }
  651.  
  652.     const
  653.         gxPenTableTag = 'pent';
  654.  
  655.  
  656.     type
  657.         gxPenTableEntry = record
  658.                 penName: Str31;                                    { Name of the pen }
  659.                 penColor: gxColor;                                { Color to use from the color set }
  660.                 penThickness: Fixed;                                    { Size of the pen }
  661.                 penUnits: INTEGER;                                { Specifies units in which pen thickness is defined }
  662.                 penPosition: INTEGER;                                { Pen position in the carousel, -1 (kPenNotLoaded) if not loaded }
  663.             end;
  664.  
  665.         gxPenTable = record
  666.                 numPens: LONGINT;                                { Number of pen entries in the following array }
  667.                 pens: array[0..0] of gxPenTableEntry;        { Array of pen entries }
  668.             end;
  669.  
  670.         gxPenTablePtr = ^gxPenTable;
  671.         gxPenTableHdl = ^gxPenTablePtr;
  672.  
  673. { penUnits field constants }
  674.  
  675.     const
  676.         gxDeviceUnits = 0;
  677.         gxMMUnits = 1;
  678.         gxInchesUnits = 2;
  679.  
  680. { penPosition field constants }
  681.         gxPenNotLoaded = -1;
  682.  
  683. {}
  684. {}
  685. {    >>>>>> DIALOG-RELATED CONSTANTS AND TYPES <<<<<<}
  686. {}
  687. {}
  688.  
  689.     type
  690.         gxDialogResult = LONGINT;
  691.  
  692.  
  693.     const
  694.         gxCancelSelected = 0;
  695.         gxOKSelected = 1;
  696.         gxRevertSelected = 2;
  697.  
  698.  
  699.     type
  700.         gxEditMenuRecord = record
  701.                 editMenuID: INTEGER;
  702.                 cutItem: INTEGER;
  703.                 copyItem: INTEGER;
  704.                 pasteItem: INTEGER;
  705.                 clearItem: INTEGER;
  706.                 undoItem: INTEGER;
  707.             end;
  708.  
  709. {}
  710. {}
  711. {    >>>>>> JOB FORMAT MODE CONSTANTS AND TYPES <<<<<<}
  712. {}
  713. {}
  714.         gxJobFormatMode = OSType;
  715.  
  716.         gxJobFormatModeTable = record
  717.                 numModes: LONGINT;                                { Number of job format modes to choose from }
  718.                 modes: array[0..0] of gxJobFormatMode;        { The job format modes }
  719.             end;
  720.  
  721.         gxJobFormatModeTablePtr = ^gxJobFormatModeTable;
  722.         gxJobFormatModeTableHdl = ^gxJobFormatModeTablePtr;
  723.  
  724.  
  725.     const
  726.         gxGraphicsJobFormatMode = 'grph';
  727.         gxTextJobFormatMode = 'text';
  728.         gxPostScriptJobFormatMode = 'post';
  729.  
  730.  
  731.     type
  732.         gxQueryType = LONGINT;
  733.  
  734.  
  735.     const
  736.         gxGetJobFormatLineConstraintQuery = 0;
  737.         gxGetJobFormatFontsQuery = 1;
  738.         gxGetJobFormatFontCommonStylesQuery = 2;
  739.         gxGetJobFormatFontConstraintQuery = 3;
  740.         gxSetStyleJobFormatCommonStyleQuery = 4;
  741.  
  742. { Structures used for Text mode field constants }
  743.  
  744.     type
  745.         gxPositionConstraintTable = record
  746.                 phase: gxPoint;                                { Position phase }
  747.                 offset: gxPoint;                                { Position offset }
  748.                 numSizes: LONGINT;                                { Number of available font sizes }
  749.                 sizes: array[0..0] of Fixed;                    { The available font sizes }
  750.             end;
  751.  
  752.         gxPositionConstraintTablePtr = ^gxPositionConstraintTable;
  753.         gxPositionConstraintTableHdl = ^gxPositionConstraintTablePtr;
  754.  
  755. { numSizes field constants }
  756.  
  757.     const
  758.         gxConstraintRange = -1;
  759.  
  760.  
  761.     type
  762.         gxStyleNameTable = record
  763.                 numStyleNames: LONGINT;                                { Number of style names }
  764.                 styleNames: array[0..0] of Str255;                    { The style names }
  765.             end;
  766.  
  767.         gxStyleNameTablePtr = ^gxStyleNameTable;
  768.         gxStyleNameTableHdl = ^gxStyleNameTablePtr;
  769.  
  770.         gxFontTable = record
  771.                 numFonts: LONGINT;                                { Number of font references }
  772.                 fonts: array[0..0] of gxFont;                    { The font references }
  773.             end;
  774.  
  775.         gxFontTablePtr = ^gxFontTable;
  776.         gxFontTableHdl = ^gxFontTablePtr;
  777.  
  778. { ------------------------------------------------------------------------------}
  779. {}
  780. {                                Printing Manager API Functions}
  781. {}
  782. {-------------------------------------------------------------------------------- }
  783.  
  784.     function GXInitPrinting: OSErr;
  785.     {$IFC NOT GENERATINGCFM}
  786.     inline
  787.         $203C, $0000, 0, $ABFE;
  788.     {$ENDC}
  789.     function GXExitPrinting: OSErr;
  790.     {$IFC NOT GENERATINGCFM}
  791.     inline
  792.         $203C, $0000, 1, $ABFE;
  793.     {$ENDC}
  794. {}
  795. {    Error-Handling Routines}
  796. {}
  797.     function GXGetJobError (aJob: gxJob): OSErr;
  798.     {$IFC NOT GENERATINGCFM}
  799.     inline
  800.         $203C, $0000, 14, $ABFE;
  801.     {$ENDC}
  802.     procedure GXSetJobError (aJob: gxJob; anErr: OSErr);
  803.     {$IFC NOT GENERATINGCFM}
  804.     inline
  805.         $203C, $0000, 15, $ABFE;
  806.     {$ENDC}
  807. {}
  808. {    Job Routines}
  809. {}
  810.     function GXNewJob (var aJob: gxJob): OSErr;
  811.     {$IFC NOT GENERATINGCFM}
  812.     inline
  813.         $203C, $0000, 2, $ABFE;
  814.     {$ENDC}
  815.     function GXDisposeJob (aJob: gxJob): OSErr;
  816.     {$IFC NOT GENERATINGCFM}
  817.     inline
  818.         $203C, $0000, 3, $ABFE;
  819.     {$ENDC}
  820.     procedure GXFlattenJob (aJob: gxJob; flattenProc: gxPrintingFlattenProc; aVoid: univ Ptr);
  821.     {$IFC NOT GENERATINGCFM}
  822.     inline
  823.         $203C, $0000, 4, $ABFE;
  824.     {$ENDC}
  825.     function GXUnflattenJob (aJob: gxJob; flattenProc: gxPrintingFlattenProc; aVoid: univ Ptr): gxJob;
  826.     {$IFC NOT GENERATINGCFM}
  827.     inline
  828.         $203C, $0000, 5, $ABFE;
  829.     {$ENDC}
  830.     function GXFlattenJobToHdl (aJob: gxJob; aHdl: Handle): Handle;
  831.     {$IFC NOT GENERATINGCFM}
  832.     inline
  833.         $203C, $0000, 6, $ABFE;
  834.     {$ENDC}
  835.     function GXUnflattenJobFromHdl (aJob: gxJob; aHdl: Handle): gxJob;
  836.     {$IFC NOT GENERATINGCFM}
  837.     inline
  838.         $203C, $0000, 7, $ABFE;
  839.     {$ENDC}
  840.     procedure GXInstallApplicationOverride (aJob: gxJob; messageID: INTEGER; override: univ Ptr);
  841.     {$IFC NOT GENERATINGCFM}
  842.     inline
  843.         $203C, $0000, 8, $ABFE;
  844.     {$ENDC}
  845.     function GXGetJobCollection (aJob: gxJob): Collection;
  846.     {$IFC NOT GENERATINGCFM}
  847.     inline
  848.         $203C, $0000, 29, $ABFE;
  849.     {$ENDC}
  850.     function GXGetJobRefCon (aJob: gxJob): Ptr;
  851.     {$IFC NOT GENERATINGCFM}
  852.     inline
  853.         $203C, $0000, 30, $ABFE;
  854.     {$ENDC}
  855.     procedure GXSetJobRefCon (aJob: gxJob; refCon: univ Ptr);
  856.     {$IFC NOT GENERATINGCFM}
  857.     inline
  858.         $203C, $0000, 31, $ABFE;
  859.     {$ENDC}
  860.     function GXCopyJob (srcJob: gxJob; dstJob: gxJob): gxJob;
  861.     {$IFC NOT GENERATINGCFM}
  862.     inline
  863.         $203C, $0000, 32, $ABFE;
  864.     {$ENDC}
  865.     procedure GXSelectJobFormattingPrinter (aJob: gxJob; var printerName: Str31);
  866.     {$IFC NOT GENERATINGCFM}
  867.     inline
  868.         $203C, $0000, 33, $ABFE;
  869.     {$ENDC}
  870.     procedure GXSelectJobOutputPrinter (aJob: gxJob; var printerName: Str31);
  871.     {$IFC NOT GENERATINGCFM}
  872.     inline
  873.         $203C, $0000, 34, $ABFE;
  874.     {$ENDC}
  875.     procedure GXForEachJobFormatDo (aJob: gxJob; formatProc: gxFormatProc; refCon: univ Ptr);
  876.     {$IFC NOT GENERATINGCFM}
  877.     inline
  878.         $203C, $0000, 35, $ABFE;
  879.     {$ENDC}
  880.     function GXCountJobFormats (aJob: gxJob): LONGINT;
  881.     {$IFC NOT GENERATINGCFM}
  882.     inline
  883.         $203C, $0000, 36, $ABFE;
  884.     {$ENDC}
  885.     function GXUpdateJob (aJob: gxJob): BOOLEAN;
  886.     {$IFC NOT GENERATINGCFM}
  887.     inline
  888.         $203C, $0000, 37, $ABFE;
  889.     {$ENDC}
  890.     procedure GXConvertPrintRecord (aJob: gxJob; hPrint: THPrint);
  891.     {$IFC NOT GENERATINGCFM}
  892.     inline
  893.         $203C, $0000, 38, $ABFE;
  894.     {$ENDC}
  895.     procedure GXIdleJob (aJob: gxJob);
  896.     {$IFC NOT GENERATINGCFM}
  897.     inline
  898.         $203C, $0000, 87, $ABFE;
  899.     {$ENDC}
  900. {}
  901. {    Job Format Modes Routines}
  902. {}
  903.     procedure GXSetAvailableJobFormatModes (aJob: gxJob; formatModeTable: gxJobFormatModeTableHdl);
  904.     {$IFC NOT GENERATINGCFM}
  905.     inline
  906.         $203C, $0000, 59, $ABFE;
  907.     {$ENDC}
  908.     function GXGetPreferredJobFormatMode (aJob: gxJob; var directOnly: BOOLEAN): gxJobFormatMode;
  909.     {$IFC NOT GENERATINGCFM}
  910.     inline
  911.         $203C, $0000, 60, $ABFE;
  912.     {$ENDC}
  913.     function GXGetJobFormatMode (aJob: gxJob): gxJobFormatMode;
  914.     {$IFC NOT GENERATINGCFM}
  915.     inline
  916.         $203C, $0000, 61, $ABFE;
  917.     {$ENDC}
  918.     procedure GXSetJobFormatMode (aJob: gxJob; formatMode: gxJobFormatMode);
  919.     {$IFC NOT GENERATINGCFM}
  920.     inline
  921.         $203C, $0000, 62, $ABFE;
  922.     {$ENDC}
  923.     procedure GXJobFormatModeQuery (aJob: gxJob; aQueryType: gxQueryType; srcData: univ Ptr; dstData: univ Ptr);
  924.     {$IFC NOT GENERATINGCFM}
  925.     inline
  926.         $203C, $0000, 63, $ABFE;
  927.     {$ENDC}
  928. {}
  929. {    Format Routines}
  930. {}
  931.     function GXNewFormat (aJob: gxJob): gxFormat;
  932.     {$IFC NOT GENERATINGCFM}
  933.     inline
  934.         $203C, $0000, 9, $ABFE;
  935.     {$ENDC}
  936.     procedure GXDisposeFormat (aFormat: gxFormat);
  937.     {$IFC NOT GENERATINGCFM}
  938.     inline
  939.         $203C, $0000, 10, $ABFE;
  940.     {$ENDC}
  941.     function GXGetJobFormat (aJob: gxJob; whichFormat: LONGINT): gxFormat;
  942.     {$IFC NOT GENERATINGCFM}
  943.     inline
  944.         $203C, $0000, 19, $ABFE;
  945.     {$ENDC}
  946.     function GXGetFormatJob (aFormat: gxFormat): gxJob;
  947.     {$IFC NOT GENERATINGCFM}
  948.     inline
  949.         $203C, $0000, 20, $ABFE;
  950.     {$ENDC}
  951.     function GXGetFormatPaperType (aFormat: gxFormat): gxPaperType;
  952.     {$IFC NOT GENERATINGCFM}
  953.     inline
  954.         $203C, $0000, 21, $ABFE;
  955.     {$ENDC}
  956.     procedure GXGetFormatDimensions (aFormat: gxFormat; var pageSize: gxRectangle; var paperSize: gxRectangle);
  957.     {$IFC NOT GENERATINGCFM}
  958.     inline
  959.         $203C, $0000, 22, $ABFE;
  960.     {$ENDC}
  961.     function GXGetFormatCollection (aFormat: gxFormat): Collection;
  962.     {$IFC NOT GENERATINGCFM}
  963.     inline
  964.         $203C, $0000, 51, $ABFE;
  965.     {$ENDC}
  966.     procedure GXChangedFormat (aFormat: gxFormat);
  967.     {$IFC NOT GENERATINGCFM}
  968.     inline
  969.         $203C, $0000, 52, $ABFE;
  970.     {$ENDC}
  971.     function GXCopyFormat (srcFormat: gxFormat; dstFormat: gxFormat): gxFormat;
  972.     {$IFC NOT GENERATINGCFM}
  973.     inline
  974.         $203C, $0000, 53, $ABFE;
  975.     {$ENDC}
  976.     function GXCloneFormat (aFormat: gxFormat): gxFormat;
  977.     {$IFC NOT GENERATINGCFM}
  978.     inline
  979.         $203C, $0000, 54, $ABFE;
  980.     {$ENDC}
  981.     function GXCountFormatOwners (aFormat: gxFormat): LONGINT;
  982.     {$IFC NOT GENERATINGCFM}
  983.     inline
  984.         $203C, $0000, 55, $ABFE;
  985.     {$ENDC}
  986.     procedure GXGetFormatMapping (aFormat: gxFormat; var fmtMapping: gxMapping);
  987.     {$IFC NOT GENERATINGCFM}
  988.     inline
  989.         $203C, $0000, 56, $ABFE;
  990.     {$ENDC}
  991.     function GXGetFormatForm (aFormat: gxFormat; var mask: gxShape): gxShape;
  992.     {$IFC NOT GENERATINGCFM}
  993.     inline
  994.         $203C, $0000, 57, $ABFE;
  995.     {$ENDC}
  996.     procedure GXSetFormatForm (aFormat: gxFormat; form: gxShape; mask: gxShape);
  997.     {$IFC NOT GENERATINGCFM}
  998.     inline
  999.         $203C, $0000, 58, $ABFE;
  1000.     {$ENDC}
  1001. {}
  1002. {    PaperType Routines}
  1003. {}
  1004.     function GXNewPaperType (aJob: gxJob; var name: Str31; var pageSize: gxRectangle; var paperSize: gxRectangle): gxPaperType;
  1005.     {$IFC NOT GENERATINGCFM}
  1006.     inline
  1007.         $203C, $0000, 11, $ABFE;
  1008.     {$ENDC}
  1009.     procedure GXDisposePaperType (aPaperType: gxPaperType);
  1010.     {$IFC NOT GENERATINGCFM}
  1011.     inline
  1012.         $203C, $0000, 12, $ABFE;
  1013.     {$ENDC}
  1014.     function GXGetNewPaperType (aJob: gxJob; resID: INTEGER): gxPaperType;
  1015.     {$IFC NOT GENERATINGCFM}
  1016.     inline
  1017.         $203C, $0000, 13, $ABFE;
  1018.     {$ENDC}
  1019.     function GXCountJobPaperTypes (aJob: gxJob; forFormatDevice: BOOLEAN): LONGINT;
  1020.     {$IFC NOT GENERATINGCFM}
  1021.     inline
  1022.         $203C, $0000, 66, $ABFE;
  1023.     {$ENDC}
  1024.     function GXGetJobPaperType (aJob: gxJob; whichPaperType: LONGINT; forFormatDevice: BOOLEAN; aPaperType: gxPaperType): gxPaperType;
  1025.     {$IFC NOT GENERATINGCFM}
  1026.     inline
  1027.         $203C, $0000, 67, $ABFE;
  1028.     {$ENDC}
  1029.     procedure GXForEachJobPaperTypeDo (aJob: gxJob; aProc: gxPaperTypeProc; refCon: univ Ptr; forFormattingPrinter: BOOLEAN);
  1030.     {$IFC NOT GENERATINGCFM}
  1031.     inline
  1032.         $203C, $0000, 68, $ABFE;
  1033.     {$ENDC}
  1034.     function GXCopyPaperType (srcPaperType: gxPaperType; dstPaperType: gxPaperType): gxPaperType;
  1035.     {$IFC NOT GENERATINGCFM}
  1036.     inline
  1037.         $203C, $0000, 69, $ABFE;
  1038.     {$ENDC}
  1039.     procedure GXGetPaperTypeName (aPaperType: gxPaperType; var papertypeName: Str31);
  1040.     {$IFC NOT GENERATINGCFM}
  1041.     inline
  1042.         $203C, $0000, 70, $ABFE;
  1043.     {$ENDC}
  1044.     procedure GXGetPaperTypeDimensions (aPaperType: gxPaperType; var pageSize: gxRectangle; var paperSize: gxRectangle);
  1045.     {$IFC NOT GENERATINGCFM}
  1046.     inline
  1047.         $203C, $0000, 71, $ABFE;
  1048.     {$ENDC}
  1049.     function GXGetPaperTypeJob (aPaperType: gxPaperType): gxJob;
  1050.     {$IFC NOT GENERATINGCFM}
  1051.     inline
  1052.         $203C, $0000, 72, $ABFE;
  1053.     {$ENDC}
  1054.     function GXGetPaperTypeCollection (aPaperType: gxPaperType): Collection;
  1055.     {$IFC NOT GENERATINGCFM}
  1056.     inline
  1057.         $203C, $0000, 73, $ABFE;
  1058.     {$ENDC}
  1059. {}
  1060. {    Printer Routines}
  1061. {}
  1062.     function GXGetJobFormattingPrinter (aJob: gxJob): gxPrinter;
  1063.     {$IFC NOT GENERATINGCFM}
  1064.     inline
  1065.         $203C, $0000, 39, $ABFE;
  1066.     {$ENDC}
  1067.     function GXGetJobOutputPrinter (aJob: gxJob): gxPrinter;
  1068.     {$IFC NOT GENERATINGCFM}
  1069.     inline
  1070.         $203C, $0000, 40, $ABFE;
  1071.     {$ENDC}
  1072.     function GXGetJobPrinter (aJob: gxJob): gxPrinter;
  1073.     {$IFC NOT GENERATINGCFM}
  1074.     inline
  1075.         $203C, $0000, 41, $ABFE;
  1076.     {$ENDC}
  1077.     function GXGetPrinterJob (aPrinter: gxPrinter): gxJob;
  1078.     {$IFC NOT GENERATINGCFM}
  1079.     inline
  1080.         $203C, $0000, 42, $ABFE;
  1081.     {$ENDC}
  1082.     procedure GXForEachPrinterViewDeviceDo (aPrinter: gxPrinter; aProc: gxViewDeviceProc; refCon: univ Ptr);
  1083.     {$IFC NOT GENERATINGCFM}
  1084.     inline
  1085.         $203C, $0000, 43, $ABFE;
  1086.     {$ENDC}
  1087.     function GXCountPrinterViewDevices (aPrinter: gxPrinter): LONGINT;
  1088.     {$IFC NOT GENERATINGCFM}
  1089.     inline
  1090.         $203C, $0000, 44, $ABFE;
  1091.     {$ENDC}
  1092.     function GXGetPrinterViewDevice (aPrinter: gxPrinter; whichViewDevice: LONGINT): gxViewDevice;
  1093.     {$IFC NOT GENERATINGCFM}
  1094.     inline
  1095.         $203C, $0000, 45, $ABFE;
  1096.     {$ENDC}
  1097.     procedure GXSelectPrinterViewDevice (aPrinter: gxPrinter; whichViewDevice: LONGINT);
  1098.     {$IFC NOT GENERATINGCFM}
  1099.     inline
  1100.         $203C, $0000, 46, $ABFE;
  1101.     {$ENDC}
  1102.     procedure GXGetPrinterName (aPrinter: gxPrinter; var printerName: Str31);
  1103.     {$IFC NOT GENERATINGCFM}
  1104.     inline
  1105.         $203C, $0000, 47, $ABFE;
  1106.     {$ENDC}
  1107.     function GXGetPrinterType (aPrinter: gxPrinter): OSType;
  1108.     {$IFC NOT GENERATINGCFM}
  1109.     inline
  1110.         $203C, $0000, 48, $ABFE;
  1111.     {$ENDC}
  1112.     procedure GXGetPrinterDriverName (aPrinter: gxPrinter; var driverName: Str31);
  1113.     {$IFC NOT GENERATINGCFM}
  1114.     inline
  1115.         $203C, $0000, 49, $ABFE;
  1116.     {$ENDC}
  1117.     function GXGetPrinterDriverType (aPrinter: gxPrinter): OSType;
  1118.     {$IFC NOT GENERATINGCFM}
  1119.     inline
  1120.         $203C, $0000, 50, $ABFE;
  1121.     {$ENDC}
  1122. {}
  1123. {    Dialog Routines}
  1124. {}
  1125.     function GXJobDefaultFormatDialog (aJob: gxJob; var anEditMenuRec: gxEditMenuRecord): gxDialogResult;
  1126.     {$IFC NOT GENERATINGCFM}
  1127.     inline
  1128.         $203C, $0000, 16, $ABFE;
  1129.     {$ENDC}
  1130.     function GXJobPrintDialog (aJob: gxJob; var anEditMenuRec: gxEditMenuRecord): gxDialogResult;
  1131.     {$IFC NOT GENERATINGCFM}
  1132.     inline
  1133.         $203C, $0000, 17, $ABFE;
  1134.     {$ENDC}
  1135.     function GXFormatDialog (aFormat: gxFormat; var anEditMenuRec: gxEditMenuRecord; title: StringPtr): gxDialogResult;
  1136.     {$IFC NOT GENERATINGCFM}
  1137.     inline
  1138.         $203C, $0000, 18, $ABFE;
  1139.     {$ENDC}
  1140.     procedure GXEnableJobScalingPanel (aJob: gxJob; enabled: BOOLEAN);
  1141.     {$IFC NOT GENERATINGCFM}
  1142.     inline
  1143.         $203C, $0000, 64, $ABFE;
  1144.     {$ENDC}
  1145.     procedure GXGetJobPanelDimensions (aJob: gxJob; var panelArea: Rect);
  1146.     {$IFC NOT GENERATINGCFM}
  1147.     inline
  1148.         $203C, $0000, 65, $ABFE;
  1149.     {$ENDC}
  1150. {}
  1151. {    Spooling Routines}
  1152. {}
  1153.     procedure GXGetJobPageRange (theJob: gxJob; var firstPage: LONGINT; var lastPage: LONGINT);
  1154.     {$IFC NOT GENERATINGCFM}
  1155.     inline
  1156.         $203C, $0000, 23, $ABFE;
  1157.     {$ENDC}
  1158.     procedure GXStartJob (theJob: gxJob; docName: StringPtr; pageCount: LONGINT);
  1159.     {$IFC NOT GENERATINGCFM}
  1160.     inline
  1161.         $203C, $0000, 24, $ABFE;
  1162.     {$ENDC}
  1163.     procedure GXPrintPage (theJob: gxJob; pageNumber: LONGINT; theFormat: gxFormat; thePage: gxShape);
  1164.     {$IFC NOT GENERATINGCFM}
  1165.     inline
  1166.         $203C, $0000, 25, $ABFE;
  1167.     {$ENDC}
  1168.     function GXStartPage (theJob: gxJob; pageNumber: LONGINT; theFormat: gxFormat; numViewPorts: LONGINT; var viewPortList: gxViewPort): BOOLEAN;
  1169.     {$IFC NOT GENERATINGCFM}
  1170.     inline
  1171.         $203C, $0000, 26, $ABFE;
  1172.     {$ENDC}
  1173.     procedure GXFinishPage (theJob: gxJob);
  1174.     {$IFC NOT GENERATINGCFM}
  1175.     inline
  1176.         $203C, $0000, 27, $ABFE;
  1177.     {$ENDC}
  1178.     procedure GXFinishJob (theJob: gxJob);
  1179.     {$IFC NOT GENERATINGCFM}
  1180.     inline
  1181.         $203C, $0000, 28, $ABFE;
  1182.     {$ENDC}
  1183. {}
  1184. {    PrintFile Routines}
  1185. {}
  1186.     function GXOpenPrintFile (theJob: gxJob; anFSSpec: FSSpecPtr; permission: ByteParameter): gxPrintFile;
  1187.     {$IFC NOT GENERATINGCFM}
  1188.     inline
  1189.         $203C, $0000, 74, $ABFE;
  1190.     {$ENDC}
  1191.     procedure GXClosePrintFile (aPrintFile: gxPrintFile);
  1192.     {$IFC NOT GENERATINGCFM}
  1193.     inline
  1194.         $203C, $0000, 75, $ABFE;
  1195.     {$ENDC}
  1196.     function GXGetPrintFileJob (aPrintFile: gxPrintFile): gxJob;
  1197.     {$IFC NOT GENERATINGCFM}
  1198.     inline
  1199.         $203C, $0000, 76, $ABFE;
  1200.     {$ENDC}
  1201.     function GXCountPrintFilePages (aPrintFile: gxPrintFile): LONGINT;
  1202.     {$IFC NOT GENERATINGCFM}
  1203.     inline
  1204.         $203C, $0000, 77, $ABFE;
  1205.     {$ENDC}
  1206.     procedure GXReadPrintFilePage (aPrintFile: gxPrintFile; pageNumber: LONGINT; numViewPorts: LONGINT; var viewPortList: gxViewPort; var pgFormat: gxFormat; var pgShape: gxShape);
  1207.     {$IFC NOT GENERATINGCFM}
  1208.     inline
  1209.         $203C, $0000, 78, $ABFE;
  1210.     {$ENDC}
  1211.     procedure GXReplacePrintFilePage (aPrintFile: gxPrintFile; pageNumber: LONGINT; aFormat: gxFormat; aShape: gxShape);
  1212.     {$IFC NOT GENERATINGCFM}
  1213.     inline
  1214.         $203C, $0000, 79, $ABFE;
  1215.     {$ENDC}
  1216.     procedure GXInsertPrintFilePage (aPrintFile: gxPrintFile; atPageNumber: LONGINT; pgFormat: gxFormat; pgShape: gxShape);
  1217.     {$IFC NOT GENERATINGCFM}
  1218.     inline
  1219.         $203C, $0000, 80, $ABFE;
  1220.     {$ENDC}
  1221.     procedure GXDeletePrintFilePageRange (aPrintFile: gxPrintFile; fromPageNumber: LONGINT; toPageNumber: LONGINT);
  1222.     {$IFC NOT GENERATINGCFM}
  1223.     inline
  1224.         $203C, $0000, 81, $ABFE;
  1225.     {$ENDC}
  1226.     procedure GXSavePrintFile (aPrintFile: gxPrintFile; var anFSSpec: FSSpec);
  1227.     {$IFC NOT GENERATINGCFM}
  1228.     inline
  1229.         $203C, $0000, 82, $ABFE;
  1230.     {$ENDC}
  1231. {}
  1232. {    ColorSync Routines}
  1233. {}
  1234.     function GXFindPrinterProfile (aPrinter: gxPrinter; searchData: univ Ptr; index: LONGINT; var returnedProfile: gxColorProfile): LONGINT;
  1235.     {$IFC NOT GENERATINGCFM}
  1236.     inline
  1237.         $203C, $0000, 83, $ABFE;
  1238.     {$ENDC}
  1239.     function GXFindFormatProfile (aFormat: gxFormat; searchData: univ Ptr; index: LONGINT; var returnedProfile: gxColorProfile): LONGINT;
  1240.     {$IFC NOT GENERATINGCFM}
  1241.     inline
  1242.         $203C, $0000, 84, $ABFE;
  1243.     {$ENDC}
  1244.     procedure GXSetPrinterProfile (aPrinter: gxPrinter; oldProfile: gxColorProfile; newProfile: gxColorProfile);
  1245.     {$IFC NOT GENERATINGCFM}
  1246.     inline
  1247.         $203C, $0000, 85, $ABFE;
  1248.     {$ENDC}
  1249.     procedure GXSetFormatProfile (aFormat: gxFormat; oldProfile: gxColorProfile; newProfile: gxColorProfile);
  1250.     {$IFC NOT GENERATINGCFM}
  1251.     inline
  1252.         $203C, $0000, 86, $ABFE;
  1253.     {$ENDC}
  1254. {***********************************************************************}
  1255. {                        Start of old "GXPrintingResEquates.h/a/p" interface file.}
  1256. {                ************************************************************************}
  1257. {    ------------------------------------}
  1258. {                Basic client types}
  1259. {    ------------------------------------ }
  1260.  
  1261.     const
  1262.         gxPrintingManagerType = 'pmgr';
  1263.         gxImagingSystemType = 'gxis';
  1264.         gxPrinterDriverType = 'pdvr';
  1265.         gxPrintingExtensionType = 'pext';
  1266.         gxUnknownPrinterType = 'none';
  1267.         gxAnyPrinterType = 'univ';
  1268.         gxQuickdrawPrinterType = 'qdrw';
  1269.         gxPortableDocPrinterType = 'gxpd';
  1270.         gxRasterPrinterType = 'rast';
  1271.         gxPostscriptPrinterType = 'post';
  1272.         gxVectorPrinterType = 'vect';
  1273.  
  1274. { All pre-defined printing collection items have this ID }
  1275.         gxPrintingTagID = -28672;
  1276.  
  1277. {    ----------------------------------------------------------------------}
  1278. {}
  1279. {        Resource types and IDs used by both extension and driver writers}
  1280. {}
  1281. {    ---------------------------------------------------------------------- }
  1282. { Resources in a printer driver or extension must be based off of these IDs }
  1283.         gxPrintingDriverBaseID = -27648;
  1284.         gxPrintingExtensionBaseID = -27136;
  1285.  
  1286. {    Override resources tell the system what messages a driver or extension}
  1287. {        is overriding.  A driver may have a series of these resources. }
  1288.         gxOverrideType = 'over';
  1289.  
  1290. {    --------------------------------------------------------------}
  1291. {}
  1292. {        Message ID definitions by both extension and driver writers}
  1293. {}
  1294. {    --------------------------------------------------------------- }
  1295. { Identifiers for universal message overrides. }
  1296.         gxInitializeMsg = 0;
  1297.         gxShutDownMsg = 1;
  1298.         gxJobIdleMsg = 2;
  1299.         gxJobStatusMsg = 3;
  1300.         gxPrintingEventMsg = 4;
  1301.         gxJobDefaultFormatDialogMsg = 5;
  1302.         gxFormatDialogMsg = 6;
  1303.         gxJobPrintDialogMsg = 7;
  1304.         gxFilterPanelEventMsg = 8;
  1305.         gxHandlePanelEventMsg = 9;
  1306.         gxParsePageRangeMsg = 10;
  1307.         gxDefaultJobMsg = 11;
  1308.         gxDefaultFormatMsg = 12;
  1309.         gxDefaultPaperTypeMsg = 13;
  1310.         gxDefaultPrinterMsg = 14;
  1311.         gxCreateSpoolFileMsg = 15;
  1312.         gxSpoolPageMsg = 16;
  1313.         gxSpoolDataMsg = 17;
  1314.         gxSpoolResourceMsg = 18;
  1315.         gxCompleteSpoolFileMsg = 19;
  1316.         gxCountPagesMsg = 20;
  1317.         gxDespoolPageMsg = 21;
  1318.         gxDespoolDataMsg = 22;
  1319.         gxDespoolResourceMsg = 23;
  1320.         gxCloseSpoolFileMsg = 24;
  1321.         gxStartJobMsg = 25;
  1322.         gxFinishJobMsg = 26;
  1323.         gxStartPageMsg = 27;
  1324.         gxFinishPageMsg = 28;
  1325.         gxPrintPageMsg = 29;
  1326.         gxSetupImageDataMsg = 30;
  1327.         gxImageJobMsg = 31;
  1328.         gxImageDocumentMsg = 32;
  1329.         gxImagePageMsg = 33;
  1330.         gxRenderPageMsg = 34;
  1331.         gxCreateImageFileMsg = 35;
  1332.         gxOpenConnectionMsg = 36;
  1333.         gxCloseConnectionMsg = 37;
  1334.         gxStartSendPageMsg = 38;
  1335.         gxFinishSendPageMsg = 39;
  1336.         gxWriteDataMsg = 40;
  1337.         gxBufferDataMsg = 41;
  1338.         gxDumpBufferMsg = 42;
  1339.         gxFreeBufferMsg = 43;
  1340.         gxCheckStatusMsg = 44;
  1341.         gxGetDeviceStatusMsg = 45;
  1342.         gxFetchTaggedDataMsg = 46;
  1343.         gxGetDTPMenuListMsg = 47;
  1344.         gxDTPMenuSelectMsg = 48;
  1345.         gxHandleAlertFilterMsg = 49;
  1346.         gxJobFormatModeQueryMsg = 50;
  1347.         gxWriteStatusToDTPWindowMsg = 51;
  1348.         gxInitializeStatusAlertMsg = 52;
  1349.         gxHandleAlertStatusMsg = 53;
  1350.         gxHandleAlertEventMsg = 54;
  1351.         gxCleanupStartJobMsg = 55;
  1352.         gxCleanupStartPageMsg = 56;
  1353.         gxCleanupOpenConnectionMsg = 57;
  1354.         gxCleanupStartSendPageMsg = 58;
  1355.         gxDefaultDesktopPrinterMsg = 59;
  1356.         gxCaptureOutputDeviceMsg = 60;
  1357.         gxOpenConnectionRetryMsg = 61;
  1358.         gxExamineSpoolFileMsg = 62;
  1359.         gxFinishSendPlaneMsg = 63;
  1360.         gxDoesPaperFitMsg = 64;
  1361.         gxChooserMessageMsg = 65;
  1362.         gxFindPrinterProfileMsg = 66;
  1363.         gxFindFormatProfileMsg = 67;
  1364.         gxSetPrinterProfileMsg = 68;
  1365.         gxSetFormatProfileMsg = 69;
  1366.         gxHandleAltDestinationMsg = 70;
  1367.         gxSetupPageImageDataMsg = 71;
  1368.  
  1369. { Identifiers for Quickdraw message overrides. }
  1370.         gxPrOpenDocMsg = 0;
  1371.         gxPrCloseDocMsg = 1;
  1372.         gxPrOpenPageMsg = 2;
  1373.         gxPrClosePageMsg = 3;
  1374.         gxPrintDefaultMsg = 4;
  1375.         gxPrStlDialogMsg = 5;
  1376.         gxPrJobDialogMsg = 6;
  1377.         gxPrStlInitMsg = 7;
  1378.         gxPrJobInitMsg = 8;
  1379.         gxPrDlgMainMsg = 9;
  1380.         gxPrValidateMsg = 10;
  1381.         gxPrJobMergeMsg = 11;
  1382.         gxPrGeneralMsg = 12;
  1383.         gxConvertPrintRecordToMsg = 13;
  1384.         gxConvertPrintRecordFromMsg = 14;
  1385.         gxPrintRecordToJobMsg = 15;
  1386.  
  1387. { Identifiers for raster imaging message overrides. }
  1388.         gxRasterDataInMsg = 0;
  1389.         gxRasterLineFeedMsg = 1;
  1390.         gxRasterPackageBitmapMsg = 2;
  1391.  
  1392. { Identifiers for PostScript imaging message overrides. }
  1393.         gxPostscriptQueryPrinterMsg = 0;
  1394.         gxPostscriptInitializePrinterMsg = 1;
  1395.         gxPostscriptResetPrinterMsg = 2;
  1396.         gxPostscriptExitServerMsg = 3;
  1397.         gxPostscriptGetStatusTextMsg = 4;
  1398.         gxPostscriptGetPrinterTextMsg = 5;
  1399.         gxPostscriptScanStatusTextMsg = 6;
  1400.         gxPostscriptScanPrinterTextMsg = 7;
  1401.         gxPostscriptGetDocumentProcSetListMsg = 8;
  1402.         gxPostscriptDownloadProcSetListMsg = 9;
  1403.         gxPostscriptGetPrinterGlyphsInformationMsg = 10;
  1404.         gxPostscriptStreamFontMsg = 11;
  1405.         gxPostscriptDoDocumentHeaderMsg = 12;
  1406.         gxPostscriptDoDocumentSetUpMsg = 13;
  1407.         gxPostscriptDoDocumentTrailerMsg = 14;
  1408.         gxPostscriptDoPageSetUpMsg = 15;
  1409.         gxPostscriptSelectPaperTypeMsg = 16;
  1410.         gxPostscriptDoPageTrailerMsg = 17;
  1411.         gxPostscriptEjectPageMsg = 18;
  1412.         gxPostscriptProcessShapeMsg = 19;
  1413.         gxPostScriptEjectPendingPageMsg = 20;
  1414.  
  1415. { Identifiers for Vector imaging message overrides. }
  1416.         gxVectorPackageDataMsg = 0;
  1417.         gxVectorLoadPensMsg = 1;
  1418.         gxVectorVectorizeShapeMsg = 2;
  1419.  
  1420. { Dialog related resource types }
  1421.         gxPrintingAlertType = 'plrt';
  1422.         gxStatusType = 'stat';
  1423.         gxExtendedDITLType = 'xdtl';
  1424.         gxPrintPanelType = 'ppnl';
  1425.         gxCollectionType = 'cltn';
  1426.  
  1427. { Communication resource types }
  1428. {}
  1429. {    The looker resource is used by the Chooser PACK to determine what kind}
  1430. {    of communications this driver supports. (In order to generate/handle the }
  1431. {    pop-up menu for "Connect via:".}
  1432. {    }
  1433. {    The looker resource is also used by PrinterShare to determine the AppleTalk NBP Type}
  1434. {    for servers created for this driver.}
  1435. {}
  1436.         gxLookerType = 'look';
  1437.         gxLookerID = -4096;
  1438.  
  1439. { The communications method and private data used to connect to the printer }
  1440.         gxDeviceCommunicationsType = 'comm';
  1441.  
  1442. {    -------------------------------------------------}
  1443. {}
  1444. {    Resource types and IDs used by extension writers}
  1445. {}
  1446. {    ------------------------------------------------- }
  1447.         gxExtensionUniversalOverrideID = gxPrintingExtensionBaseID;
  1448.  
  1449.         gxExtensionImagingOverrideSelectorID = gxPrintingExtensionBaseID;
  1450.  
  1451.         gxExtensionScopeType = 'scop';
  1452.         gxDriverScopeID = gxPrintingExtensionBaseID;
  1453.         gxPrinterScopeID = -27135;
  1454.         gxPrinterExceptionScopeID = -27134;
  1455.  
  1456.         gxExtensionLoadType = 'load';
  1457.         gxExtensionLoadID = gxPrintingExtensionBaseID;
  1458.  
  1459.         gxExtensionLoadFirst = $00000100;
  1460.         gxExtensionLoadAnywhere = $7FFFFFFF;
  1461.         gxExtensionLoadLast = $FFFFFF00;
  1462.  
  1463.         gxExtensionOptimizationType = 'eopt';
  1464.         gxExtensionOptimizationID = gxPrintingExtensionBaseID;
  1465.  
  1466. {    -----------------------------------------------}
  1467. {}
  1468. {    Resource types and IDs used by driver writers}
  1469. {}
  1470. {    ----------------------------------------------- }
  1471.         gxDriverUniversalOverrideID = gxPrintingDriverBaseID;
  1472.         gxDriverImagingOverrideID = -27647;
  1473.         gxDriverCompatibilityOverrideID = -27646;
  1474.  
  1475.         gxDriverFileFormatType = 'pfil';
  1476.         gxDriverFileFormatID = gxPrintingDriverBaseID;
  1477.  
  1478.         gxDestinationAdditionType = 'dsta';
  1479.         gxDestinationAdditionID = gxPrintingDriverBaseID;
  1480.  
  1481. { IMAGING RESOURCES }
  1482. {    The imaging system resource specifies which imaging system a printer}
  1483. {        driver wishes to use. }
  1484.         gxImagingSystemSelectorType = 'isys';
  1485.         gxImagingSystemSelectorID = gxPrintingDriverBaseID;
  1486.  
  1487. { 'exft' resource ID -- exclude font list }
  1488.         kExcludeFontListType = 'exft';
  1489.         kExcludeFontListID = gxPrintingDriverBaseID;
  1490.  
  1491. { Resource for type for color matching }
  1492.         gxColorMatchingDataType = 'prof';
  1493.         gxColorMatchingDataID = gxPrintingDriverBaseID;
  1494.  
  1495. { Resource type and id for the tray count }
  1496.         gxTrayCountDataType = 'tray';
  1497.         gxTrayCountDataID = gxPrintingDriverBaseID;
  1498.  
  1499. { Resource type for the tray names }
  1500.         gxTrayNameDataType = 'tryn';
  1501.  
  1502. { Resource type for manual feed preferences, stored in DTP. }
  1503.         gxManualFeedAlertPrefsType = 'mfpr';
  1504.         gxManualFeedAlertPrefsID = gxPrintingDriverBaseID;
  1505.  
  1506. { Resource type for desktop printer output characteristics, stored in DTP. }
  1507.         gxDriverOutputType = 'outp';
  1508.         gxDriverOutputTypeID = 1;
  1509.  
  1510. { IO Resources }
  1511. { Resource type and ID for default IO and buffering resources }
  1512.         gxUniversalIOPrefsType = 'iobm';
  1513.         gxUniversalIOPrefsID = gxPrintingDriverBaseID;
  1514.  
  1515. {    Resource types and IDs for default implementation of CaptureOutputDevice.}
  1516. {        The default implementation of CaptureOutputDevice only handles PAP devices }
  1517.         gxCaptureType = 'cpts';
  1518.         gxCaptureStringID = gxPrintingDriverBaseID;
  1519.         gxReleaseStringID = -27647;
  1520.         gxUncapturedAppleTalkType = -27646;
  1521.         gxCapturedAppleTalkType = -27645;
  1522.  
  1523. { Resource type and ID for custom halftone matrix }
  1524.         gxCustomMatrixType = 'dmat';
  1525.         gxCustomMatrixID = gxPrintingDriverBaseID;
  1526.  
  1527. { Resource type and ID for raster driver rendering preferences }
  1528.         gxRasterPrefsType = 'rdip';
  1529.         gxRasterPrefsID = gxPrintingDriverBaseID;
  1530.  
  1531. { Resource type for specifiying a colorset }
  1532.         gxColorSetResType = 'crst';
  1533.  
  1534. { Resource type and ID for raster driver packaging preferences }
  1535.         gxRasterPackType = 'rpck';
  1536.         gxRasterPackID = gxPrintingDriverBaseID;
  1537.  
  1538. { Resource type and ID for raster driver packaging options }
  1539.         gxRasterNumNone = 0;                            { Number isn't output at all }
  1540.         gxRasterNumDirect = 1;                            { Lowest minWidth bytes as data }
  1541.         gxRasterNumToASCII = 2;                            { minWidth ASCII characters }
  1542.  
  1543.         gxRasterPackOptionsType = 'ropt';
  1544.         gxRasterPackOptionsID = gxPrintingDriverBaseID;
  1545.  
  1546. { Resource type for the PostScript imaging system procedure set control resource }
  1547.         gxPostscriptProcSetControlType = 'prec';
  1548.  
  1549. { Resource type for the PostScript imaging system printer font resource }
  1550.         gxPostscriptPrinterFontType = 'pfnt';
  1551.  
  1552. { Resource type and id for the PostScript imaging system imaging preferences }
  1553.         gxPostscriptPrefsType = 'pdip';
  1554.         gxPostscriptPrefsID = gxPrintingDriverBaseID;
  1555.  
  1556. { Resource type and id for the PostScript imaging system default scanning code }
  1557.         gxPostscriptScanningType = 'scan';
  1558.         gxPostscriptScanningID = gxPrintingDriverBaseID;
  1559.  
  1560. { Old Application Support Resources }
  1561.         gxCustType = 'cust';
  1562.         gxCustID = -8192;
  1563.  
  1564.         gxReslType = 'resl';
  1565.         gxReslID = -8192;
  1566.  
  1567.         gxDiscreteResolution = 0;
  1568.  
  1569.         gxStlDialogResID = -8192;
  1570.  
  1571.         gxJobDialogResID = -8191;
  1572.  
  1573.         gxScaleTableType = 'stab';
  1574.         gxDITLControlType = 'dctl';
  1575.  
  1576. {    The default implementation of gxPrintDefault loads and}
  1577. {    PrValidates a print record stored in the following driver resource. }
  1578.         gxPrintRecordType = 'PREC';
  1579.         gxDefaultPrintRecordID = 0;
  1580.  
  1581. {}
  1582. {    -----------------------------------------------}
  1583. {}
  1584. {    Resource types and IDs used in papertype files}
  1585. {}
  1586. {    -----------------------------------------------}
  1587. {}
  1588. { Resource type and ID for driver papertypes placed in individual files }
  1589.         gxSignatureType = 'sig ';
  1590.         gxPapertypeSignatureID = 0;
  1591.  
  1592. { Papertype creator types }
  1593.         gxDrvrPaperType = 'drpt';
  1594.         gxSysPaperType = 'sypt';                        { System paper type creator }
  1595.         gxUserPaperType = 'uspt';                        { User paper type creator }
  1596. { Driver creator types == driver file's creator value }
  1597.         gxPaperTypeType = 'ptyp';
  1598.  
  1599. {********************************************************************}
  1600. {                    Start of old "GXPrintingMessages.h/a/p" interface file.}
  1601. {            *********************************************************************}
  1602. { ------------------------------------------------------------------------------}
  1603. {}
  1604. {                                    Constants and Types}
  1605. {}
  1606. {-------------------------------------------------------------------------------- }
  1607. {}
  1608. {}
  1609. {    ABSTRACT DATA TYPES}
  1610. {}
  1611. {}
  1612.  
  1613.     type
  1614.         gxSpoolFile = Ptr;
  1615.  
  1616.         gxPanelEvent = LONGINT;
  1617.  
  1618. { Dialog panel event equates }
  1619.  
  1620.     const
  1621.         gxPanelNoEvt = 0;
  1622.         gxPanelOpenEvt = 1;                            { Initialize and draw }
  1623.         gxPanelCloseEvt = 2;                            { Your panel is going away (panel switch, confirm or cancel) }
  1624.         gxPanelHitEvt = 3;                            { There's a hit in your panel }
  1625.         gxPanelActivateEvt = 4;                            { The dialog window has just been activated }
  1626.         gxPanelDeactivateEvt = 5;                            { The dialog window is about to be deactivated }
  1627.         gxPanelIconFocusEvt = 6;                            { The focus changes from the panel to the icon list }
  1628.         gxPanelPanelFocusEvt = 7;                            { The focus changes from the icon list to the panel }
  1629.         gxPanelFilterEvt = 8;                            { Every event is filtered }
  1630.         gxPanelCancelEvt = 9;                            { The user has cancelled the dialog }
  1631.         gxPanelConfirmEvt = 10;                            { The user has confirmed the dialog }
  1632.         gxPanelDialogEvt = 11;                            { Event to be handle by dialoghandler }
  1633.         gxPanelOtherEvt = 12;                            { osEvts, etc. }
  1634.         gxPanelUserWillConfirmEvt = 13;                            { User has selected confirm, time to parse panel interdependencies }
  1635.  
  1636. { Constants for panel responses to dialog handler calls }
  1637.  
  1638.     type
  1639.         gxPanelResult = LONGINT;
  1640.  
  1641.  
  1642.     const
  1643.         gxPanelNoResult = 0;
  1644.         gxPanelCancelConfirmation = 1;                            { Only valid from panelUserWillConfirmEvt - used to keep the dialog from going away }
  1645.  
  1646. { Panel event info record for FilterPanelEvent and HandlePanelEvent messages }
  1647.  
  1648.     type
  1649.         gxPanelInfoRecord = record
  1650.                 panelEvt: gxPanelEvent;                            { Why we were called }
  1651.                 panelResId: INTEGER;                                { 'ppnl' resource id of current panel }
  1652.                 pDlg: DialogPtr;                                { Pointer to dialog }
  1653.                 theEvent: ^EventRecord;                            { Pointer to event }
  1654.                 itemHit: INTEGER;                                { Actual item number as Dialog Mgr thinks }
  1655.                 itemCount: INTEGER;                                { Number of items before your items }
  1656.                 evtAction: INTEGER;                                { Once this event is processed, the action that will result }
  1657.         { (evtAction is only meaningful during filtering) }
  1658.                 errorStringId: INTEGER;                                { STR id of string to put in error alert (0 means no string) }
  1659.                 theFormat: gxFormat;                                { The current format (only meaningful in a format dialog) }
  1660.                 refCon: Ptr;                                    { refCon passed in PanelSetupRecord }
  1661.             end;
  1662.  
  1663. { Constants for the evtAction field in PanelInfoRecord }
  1664.  
  1665.     const
  1666.         gxOtherAction = 0;                            { Current item will not change }
  1667.         gxClosePanelAction = 1;                            { Panel will be closed }
  1668.         gxCancelDialogAction = 2;                            { Dialog will be cancelled }
  1669.         gxConfirmDialogAction = 3;                            { Dialog will be confirmed }
  1670.  
  1671. { Constants for the panelKind field in gxPanelSetupRecord }
  1672.  
  1673.     type
  1674.         gxPrintingPanelKind = LONGINT;
  1675.  
  1676. { The gxPanelSetupInfo structure is passed to GXSetupDialogPanel }
  1677.         gxPanelSetupRecord = record
  1678.                 panelKind: gxPrintingPanelKind;
  1679.                 panelResId: INTEGER;
  1680.                 resourceRefNum: INTEGER;
  1681.                 refCon: Ptr;
  1682.             end;
  1683.  
  1684.  
  1685.     const
  1686.         gxApplicationPanel = 0;
  1687.         gxExtensionPanel = 1;
  1688.         gxDriverPanel = 2;
  1689.  
  1690. { Constants returned by gxParsePageRange message }
  1691.  
  1692.     type
  1693.         gxParsePageRangeResult = LONGINT;
  1694.  
  1695.  
  1696.     const
  1697.         gxRangeNotParsed = 0;                            { Default initial value }
  1698.         gxRangeParsed = 1;                            { Range has been parsed }
  1699.         gxRangeBadFromValue = 2;                            { From value is bad }
  1700.         gxRangeBadToValue = 3;                            { To value is bad }
  1701.  
  1702. {}
  1703. {}
  1704. {    STATUS-RELATED CONSTANTS AND TYPES}
  1705. {}
  1706. {}
  1707. { Structure for status messages }
  1708.  
  1709.     type
  1710.         gxStatusRecord = record
  1711.                 statusType: INTEGER;                                { One of the ids listed above (nonFatalError, etc. ) }
  1712.                 statusId: INTEGER;                                { Specific status (out of paper, etc.) }
  1713.                 statusAlertId: INTEGER;                                {    Printing alert id (if any) for status }
  1714.                 statusOwner: gxOwnerSignature;                        { Creator type of status owner }
  1715.                 statResId: INTEGER;                                { ID for 'stat' resource }
  1716.                 statResIndex: INTEGER;                                { Index into 'stat' resource for this status }
  1717.                 dialogResult: INTEGER;                                { ID of button string selected on dismissal of printing alert }
  1718.                 bufferLen: INTEGER;                                { Number of bytes in status buffer - total record size must be <= 512 }
  1719.                 statusBuffer: array[0..0] of CHAR;                    { User response from alert }
  1720.             end;
  1721.  
  1722. { Constants for statusType field of gxStatusRecord }
  1723.  
  1724.     const
  1725.         gxNonFatalError = 1;                            { An error occurred, but the job can continue }
  1726.         gxFatalError = 2;                            { A fatal error occurred-- halt job }
  1727.         gxPrinterReady = 3;                            { Tells QDGX to leave alert mode }
  1728.         gxUserAttention = 4;                            { Signals initiation of a modal alert }
  1729.         gxUserAlert = 5;                            { Signals initiation of a moveable modal alert }
  1730.         gxPageTransmission = 6;                            { Signals page sent to printer, increments page count in strings to user }
  1731.         gxOpenConnectionStatus = 7;                            { Signals QDGX to begin animation on printer icon }
  1732.         gxInformationalStatus = 8;                            { Default status type, no side effects }
  1733.         gxSpoolingPageStatus = 9;                            { Signals page spooled, increments page count in spooling dialog }
  1734.         gxEndStatus = 10;                            { Signals end of spooling }
  1735.         gxPercentageStatus = 11;                            { Signals QDGX as to the amount of the job which is currently complete }
  1736.  
  1737. { Structure for gxWriteStatusToDTPWindow message }
  1738.  
  1739.     type
  1740.         gxDisplayRecord = record
  1741.                 useText: BOOLEAN;                                { Use text as opposed to a picture }
  1742.                 padByte: CHAR;
  1743.                 hPicture: Handle;                                    { if !useText, the picture handle }
  1744.                 theText: Str255;                                    { if useText, the text }
  1745.             end;
  1746.  
  1747. {-----------------------------------------------}
  1748. { paper mapping-related constants and types...  }
  1749. {-----------------------------------------------}
  1750.         gxTrayMapping = LONGINT;
  1751.  
  1752.  
  1753.     const
  1754.         gxDefaultTrayMapping = 0;
  1755.         gxConfiguredTrayMapping = 1;
  1756.  
  1757. { ------------------------------------------------------------------------------}
  1758. {}
  1759. {                API Functions callable only from within message overrides}
  1760. {}
  1761. {-------------------------------------------------------------------------------- }
  1762. {$IFC NOT GENERATINGPOWERPC }
  1763. {$ENDC}
  1764.  
  1765. {FUNCTION GXGetJob: gxJob; C;}
  1766. {FUNCTION GXGetMessageHandlerResFile: INTEGER; C;}
  1767. {FUNCTION GXSpoolingAborted: BOOLEAN; C;}
  1768. {FUNCTION GXJobIdle: OSErr; C;}
  1769. {FUNCTION GXReportStatus(statusID: LONGINT; statusIndex: LONGINT): OSErr; C;}
  1770. {FUNCTION GXAlertTheUser(VAR statusRec: gxStatusRecord): OSErr; C;}
  1771. {FUNCTION GXSetupDialogPanel(VAR panelRec: gxPanelSetupRecord): OSErr; C;}
  1772. {FUNCTION GXCountTrays(VAR numTrays: gxTrayIndex): OSErr; C;}
  1773. {FUNCTION GXGetTrayName(trayNumber: gxTrayIndex; VAR trayName: Str31): OSErr; C;}
  1774. {FUNCTION GXSetTrayPaperType(whichTray: gxTrayIndex; aPapertype: gxPaperType): OSErr; C;}
  1775. {FUNCTION GXGetTrayPaperType(whichTray: gxTrayIndex; aPapertype: gxPaperType): OSErr; C;}
  1776. {FUNCTION GXGetTrayMapping(VAR trayMapping: gxTrayMapping): OSErr; C;}
  1777. {PROCEDURE GXCleanupStartJob; C;}
  1778. {PROCEDURE GXCleanupStartPage; C;}
  1779. {PROCEDURE GXCleanupOpenConnection; C;}
  1780. {PROCEDURE GXCleanupStartSendPage; C;}
  1781. { ------------------------------------------------------------------------------}
  1782. {}
  1783. {                    Constants and types for Universal Printing Messages}
  1784. {}
  1785. {-------------------------------------------------------------------------------- }
  1786. { Options for gxCreateSpoolFile message }
  1787.  
  1788.     const
  1789.         gxNoCreateOptions = $00000000;                    { Just create the file }
  1790.         gxInhibitAlias = $00000001;                    { Do not create an alias in the PMD folder }
  1791.         gxInhibitUniqueName = $00000002;                    { Do not append to the filename to make it unique }
  1792.         gxResolveBitmapAlias = $00000004;                    { Resolve bitmap aliases and duplicate data in file }
  1793.  
  1794. { Options for gxCloseSpoolFile message }
  1795.         gxNoCloseOptions = $00000000;                    { Just close the file }
  1796.         gxDeleteOnClose = $00000001;                    { Delete the file rather than closing it }
  1797.         gxUpdateJobData = $00000002;                    { Write current job information into file prior to closing }
  1798.         gxMakeRemoteFile = $00000004;                    { Mark job as a remote file }
  1799.  
  1800. { Options for gxCreateImageFile message }
  1801.         gxNoImageFile = $00000000;                    { Don't create image file }
  1802.         gxMakeImageFile = $00000001;                    { Create an image file }
  1803.         gxEachPlane = $00000002;                    { Only save up planes before rewinding }
  1804.         gxEachPage = $00000004;                    { Save up entire pages before rewinding }
  1805.         gxEntireFile = $6;        { Save up the entire file before rewinding }
  1806.  
  1807. { Options for gxBufferData message }
  1808.         gxNoBufferOptions = $00000000;
  1809.         gxMakeBufferHex = $00000001;
  1810.         gxDontSplitBuffer = $00000002;
  1811.  
  1812. { Structure for gxDumpBuffer and gxFreeBuffer messages }
  1813.  
  1814.     type
  1815.         gxPrintingBuffer = record
  1816.                 size: LONGINT;                                { Size of buffer in bytes }
  1817.                 userData: LONGINT;                                { Client assigned id for the buffer }
  1818.                 data: array[0..0] of CHAR;                    { Array of size bytes }
  1819.             end;
  1820.  
  1821. { Structure for gxRenderPage message }
  1822.         gxPageInfoRecord = record
  1823.                 docPageNum: LONGINT;                                { Number of page being printed }
  1824.                 copyNum: LONGINT;                                { Copy number being printed }
  1825.                 formatChanged: BOOLEAN;                                { True if format changed from last page }
  1826.                 pageChanged: BOOLEAN;                                { True if page contents changed from last page }
  1827.                 internalUse: LONGINT;                                { Private }
  1828.             end;
  1829.  
  1830. { ------------------------------------------------------------------------------}
  1831. {}
  1832. {                                Universal Printing Messages}
  1833. {}
  1834. {-------------------------------------------------------------------------------- }
  1835.         GXJobIdleProcPtr = ProcPtr;  { FUNCTION GXJobIdle: OSErr; }
  1836.         GXJobIdleUPP = UniversalProcPtr;
  1837.  
  1838.     const
  1839.         uppGXJobIdleProcInfo = $00000021; { FUNCTION : 2 byte result; }
  1840.  
  1841.     function NewGXJobIdleProc (userRoutine: GXJobIdleProcPtr): GXJobIdleUPP;
  1842.     {$IFC NOT GENERATINGCFM }
  1843.     inline
  1844.         $2E9F;
  1845.     {$ENDC}
  1846.  
  1847.     function CallGXJobIdleProc (userRoutine: GXJobIdleUPP): OSErr;
  1848.     {$IFC NOT GENERATINGCFM}
  1849.     inline
  1850.         $205F, $4E90;
  1851.     {$ENDC}
  1852.  
  1853.     type
  1854.         GXJobIdleProc = GXJobIdleUPP;
  1855.  
  1856.  
  1857. {FUNCTION Send_GXJobIdle: OSErr; C;}
  1858. {FUNCTION Forward_GXJobIdle: OSErr; C;}
  1859.     type
  1860.         GXJobStatusProcPtr = ProcPtr;  { FUNCTION GXJobStatus(VAR pStatus: gxStatusRecord): OSErr; }
  1861.         GXJobStatusUPP = UniversalProcPtr;
  1862.  
  1863.     const
  1864.         uppGXJobStatusProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  1865.  
  1866.     function NewGXJobStatusProc (userRoutine: GXJobStatusProcPtr): GXJobStatusUPP;
  1867.     {$IFC NOT GENERATINGCFM }
  1868.     inline
  1869.         $2E9F;
  1870.     {$ENDC}
  1871.  
  1872.     function CallGXJobStatusProc (var pStatus: gxStatusRecord; userRoutine: GXJobStatusUPP): OSErr;
  1873.     {$IFC NOT GENERATINGCFM}
  1874.     inline
  1875.         $205F, $4E90;
  1876.     {$ENDC}
  1877.  
  1878.     type
  1879.         GXJobStatusProc = GXJobStatusUPP;
  1880.  
  1881.  
  1882. {FUNCTION Send_GXJobStatus(VAR pStatus: gxStatusRecord): OSErr; C;}
  1883. {FUNCTION Forward_GXJobStatus(VAR pStatus: gxStatusRecord): OSErr; C;}
  1884.     type
  1885.         GXPrintingEventProcPtr = ProcPtr;  { FUNCTION GXPrintingEvent(VAR evtRecord: EventRecord; filterEvent: BOOLEAN): OSErr; }
  1886.         GXPrintingEventUPP = UniversalProcPtr;
  1887.  
  1888.     const
  1889.         uppGXPrintingEventProcInfo = $000001E1; { FUNCTION (4 byte param, 1 byte param): 2 byte result; }
  1890.  
  1891.     function NewGXPrintingEventProc (userRoutine: GXPrintingEventProcPtr): GXPrintingEventUPP;
  1892.     {$IFC NOT GENERATINGCFM }
  1893.     inline
  1894.         $2E9F;
  1895.     {$ENDC}
  1896.  
  1897.     function CallGXPrintingEventProc (var evtRecord: EventRecord; filterEvent: BOOLEAN; userRoutine: GXPrintingEventUPP): OSErr;
  1898.     {$IFC NOT GENERATINGCFM}
  1899.     inline
  1900.         $205F, $4E90;
  1901.     {$ENDC}
  1902.  
  1903.     type
  1904.         GXPrintingEventProc = GXPrintingEventUPP;
  1905.  
  1906.  
  1907. {FUNCTION Send_GXPrintingEvent(VAR evtRecord: EventRecord; filterEvent: BOOLEAN): OSErr; C;}
  1908. {FUNCTION Forward_GXPrintingEvent(VAR evtRecord: EventRecord; filterEvent: BOOLEAN): OSErr; C;}
  1909.     type
  1910.         GXJobDefaultFormatDialogProcPtr = ProcPtr;  { FUNCTION GXJobDefaultFormatDialog(VAR dlgResult: gxDialogResult): OSErr; }
  1911.         GXJobDefaultFormatDialogUPP = UniversalProcPtr;
  1912.  
  1913.     const
  1914.         uppGXJobDefaultFormatDialogProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  1915.  
  1916.     function NewGXJobDefaultFormatDialogProc (userRoutine: GXJobDefaultFormatDialogProcPtr): GXJobDefaultFormatDialogUPP;
  1917.     {$IFC NOT GENERATINGCFM }
  1918.     inline
  1919.         $2E9F;
  1920.     {$ENDC}
  1921.  
  1922.     function CallGXJobDefaultFormatDialogProc (var dlgResult: gxDialogResult; userRoutine: GXJobDefaultFormatDialogUPP): OSErr;
  1923.     {$IFC NOT GENERATINGCFM}
  1924.     inline
  1925.         $205F, $4E90;
  1926.     {$ENDC}
  1927.  
  1928.     type
  1929.         GXJobDefaultFormatDialogProc = GXJobDefaultFormatDialogUPP;
  1930.  
  1931.  
  1932. {FUNCTION Send_GXJobDefaultFormatDialog(VAR dlgResult: gxDialogResult): OSErr; C;}
  1933. {FUNCTION Forward_GXJobDefaultFormatDialog(VAR dlgResult: gxDialogResult): OSErr; C;}
  1934.     type
  1935.         GXFormatDialogProcPtr = ProcPtr;  { FUNCTION GXFormatDialog(theFormat: gxFormat; title: StringPtr; VAR dlgResult: gxDialogResult): OSErr; }
  1936.         GXFormatDialogUPP = UniversalProcPtr;
  1937.  
  1938.     const
  1939.         uppGXFormatDialogProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  1940.  
  1941.     function NewGXFormatDialogProc (userRoutine: GXFormatDialogProcPtr): GXFormatDialogUPP;
  1942.     {$IFC NOT GENERATINGCFM }
  1943.     inline
  1944.         $2E9F;
  1945.     {$ENDC}
  1946.  
  1947.     function CallGXFormatDialogProc (theFormat: gxFormat; title: StringPtr; var dlgResult: gxDialogResult; userRoutine: GXFormatDialogUPP): OSErr;
  1948.     {$IFC NOT GENERATINGCFM}
  1949.     inline
  1950.         $205F, $4E90;
  1951.     {$ENDC}
  1952.  
  1953.     type
  1954.         GXFormatDialogProc = GXFormatDialogUPP;
  1955.  
  1956.  
  1957. {FUNCTION Send_GXFormatDialog(theFormat: gxFormat; title: StringPtr; VAR dlgResult: gxDialogResult): OSErr; C;}
  1958. {FUNCTION Forward_GXFormatDialog(theFormat: gxFormat; title: StringPtr; VAR dlgResult: gxDialogResult): OSErr; C;}
  1959.     type
  1960.         GXJobPrintDialogProcPtr = ProcPtr;  { FUNCTION GXJobPrintDialog(VAR dlgResult: gxDialogResult): OSErr; }
  1961.         GXJobPrintDialogUPP = UniversalProcPtr;
  1962.  
  1963.     const
  1964.         uppGXJobPrintDialogProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  1965.  
  1966.     function NewGXJobPrintDialogProc (userRoutine: GXJobPrintDialogProcPtr): GXJobPrintDialogUPP;
  1967.     {$IFC NOT GENERATINGCFM }
  1968.     inline
  1969.         $2E9F;
  1970.     {$ENDC}
  1971.  
  1972.     function CallGXJobPrintDialogProc (var dlgResult: gxDialogResult; userRoutine: GXJobPrintDialogUPP): OSErr;
  1973.     {$IFC NOT GENERATINGCFM}
  1974.     inline
  1975.         $205F, $4E90;
  1976.     {$ENDC}
  1977.  
  1978.     type
  1979.         GXJobPrintDialogProc = GXJobPrintDialogUPP;
  1980.  
  1981.  
  1982. {FUNCTION Send_GXJobPrintDialog(VAR dlgResult: gxDialogResult): OSErr; C;}
  1983. {FUNCTION Forward_GXJobPrintDialog(VAR dlgResult: gxDialogResult): OSErr; C;}
  1984.     type
  1985.         GXFilterPanelEventProcPtr = ProcPtr;  { FUNCTION GXFilterPanelEvent(VAR pHitInfo: gxPanelInfoRecord; VAR returnImmed: BOOLEAN): OSErr; }
  1986.         GXFilterPanelEventUPP = UniversalProcPtr;
  1987.  
  1988.     const
  1989.         uppGXFilterPanelEventProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  1990.  
  1991.     function NewGXFilterPanelEventProc (userRoutine: GXFilterPanelEventProcPtr): GXFilterPanelEventUPP;
  1992.     {$IFC NOT GENERATINGCFM }
  1993.     inline
  1994.         $2E9F;
  1995.     {$ENDC}
  1996.  
  1997.     function CallGXFilterPanelEventProc (var pHitInfo: gxPanelInfoRecord; var returnImmed: BOOLEAN; userRoutine: GXFilterPanelEventUPP): OSErr;
  1998.     {$IFC NOT GENERATINGCFM}
  1999.     inline
  2000.         $205F, $4E90;
  2001.     {$ENDC}
  2002.  
  2003.     type
  2004.         GXFilterPanelEventProc = GXFilterPanelEventUPP;
  2005.  
  2006.  
  2007. {FUNCTION Send_GXFilterPanelEvent(VAR pHitInfo: gxPanelInfoRecord; VAR returnImmed: BOOLEAN): OSErr; C;}
  2008.     type
  2009.         GXHandlePanelEventProcPtr = ProcPtr;  { FUNCTION GXHandlePanelEvent(VAR pHitInfo: gxPanelInfoRecord; VAR panelResponse: gxPanelResult): OSErr; }
  2010.         GXHandlePanelEventUPP = UniversalProcPtr;
  2011.  
  2012.     const
  2013.         uppGXHandlePanelEventProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  2014.  
  2015.     function NewGXHandlePanelEventProc (userRoutine: GXHandlePanelEventProcPtr): GXHandlePanelEventUPP;
  2016.     {$IFC NOT GENERATINGCFM }
  2017.     inline
  2018.         $2E9F;
  2019.     {$ENDC}
  2020.  
  2021.     function CallGXHandlePanelEventProc (var pHitInfo: gxPanelInfoRecord; var panelResponse: gxPanelResult; userRoutine: GXHandlePanelEventUPP): OSErr;
  2022.     {$IFC NOT GENERATINGCFM}
  2023.     inline
  2024.         $205F, $4E90;
  2025.     {$ENDC}
  2026.  
  2027.     type
  2028.         GXHandlePanelEventProc = GXHandlePanelEventUPP;
  2029.  
  2030.  
  2031. {FUNCTION Send_GXHandlePanelEvent(VAR pHitInfo: gxPanelInfoRecord; VAR panelResponse: gxPanelResult): OSErr; C;}
  2032.     type
  2033.         GXParsePageRangeProcPtr = ProcPtr;  { FUNCTION GXParsePageRange(fromString: StringPtr; toString: StringPtr; VAR result: gxParsePageRangeResult): OSErr; }
  2034.         GXParsePageRangeUPP = UniversalProcPtr;
  2035.  
  2036.     const
  2037.         uppGXParsePageRangeProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2038.  
  2039.     function NewGXParsePageRangeProc (userRoutine: GXParsePageRangeProcPtr): GXParsePageRangeUPP;
  2040.     {$IFC NOT GENERATINGCFM }
  2041.     inline
  2042.         $2E9F;
  2043.     {$ENDC}
  2044.  
  2045.     function CallGXParsePageRangeProc (fromString: StringPtr; toString: StringPtr; var result: gxParsePageRangeResult; userRoutine: GXParsePageRangeUPP): OSErr;
  2046.     {$IFC NOT GENERATINGCFM}
  2047.     inline
  2048.         $205F, $4E90;
  2049.     {$ENDC}
  2050.  
  2051.     type
  2052.         GXParsePageRangeProc = GXParsePageRangeUPP;
  2053.  
  2054.  
  2055. {FUNCTION Send_GXParsePageRange(fromString: StringPtr; toString: StringPtr; VAR result: gxParsePageRangeResult): OSErr; C;}
  2056. {FUNCTION Forward_GXParsePageRange(fromString: StringPtr; toString: StringPtr; VAR result: gxParsePageRangeResult): OSErr; C;}
  2057.     type
  2058.         GXDefaultJobProcPtr = ProcPtr;  { FUNCTION GXDefaultJob: OSErr; }
  2059.         GXDefaultJobUPP = UniversalProcPtr;
  2060.  
  2061.     const
  2062.         uppGXDefaultJobProcInfo = $00000021; { FUNCTION : 2 byte result; }
  2063.  
  2064.     function NewGXDefaultJobProc (userRoutine: GXDefaultJobProcPtr): GXDefaultJobUPP;
  2065.     {$IFC NOT GENERATINGCFM }
  2066.     inline
  2067.         $2E9F;
  2068.     {$ENDC}
  2069.  
  2070.     function CallGXDefaultJobProc (userRoutine: GXDefaultJobUPP): OSErr;
  2071.     {$IFC NOT GENERATINGCFM}
  2072.     inline
  2073.         $205F, $4E90;
  2074.     {$ENDC}
  2075.  
  2076.     type
  2077.         GXDefaultJobProc = GXDefaultJobUPP;
  2078.  
  2079.  
  2080. {FUNCTION Send_GXDefaultJob: OSErr; C;}
  2081. {FUNCTION Forward_GXDefaultJob: OSErr; C;}
  2082.     type
  2083.         GXDefaultFormatProcPtr = ProcPtr;  { FUNCTION GXDefaultFormat(theFormat: gxFormat): OSErr; }
  2084.         GXDefaultFormatUPP = UniversalProcPtr;
  2085.  
  2086.     const
  2087.         uppGXDefaultFormatProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  2088.  
  2089.     function NewGXDefaultFormatProc (userRoutine: GXDefaultFormatProcPtr): GXDefaultFormatUPP;
  2090.     {$IFC NOT GENERATINGCFM }
  2091.     inline
  2092.         $2E9F;
  2093.     {$ENDC}
  2094.  
  2095.     function CallGXDefaultFormatProc (theFormat: gxFormat; userRoutine: GXDefaultFormatUPP): OSErr;
  2096.     {$IFC NOT GENERATINGCFM}
  2097.     inline
  2098.         $205F, $4E90;
  2099.     {$ENDC}
  2100.  
  2101.     type
  2102.         GXDefaultFormatProc = GXDefaultFormatUPP;
  2103.  
  2104.  
  2105. {FUNCTION Send_GXDefaultFormat(theFormat: gxFormat): OSErr; C;}
  2106. {FUNCTION Forward_GXDefaultFormat(theFormat: gxFormat): OSErr; C;}
  2107.     type
  2108.         GXDefaultPaperTypeProcPtr = ProcPtr;  { FUNCTION GXDefaultPaperType(thePaperType: gxPaperType): OSErr; }
  2109.         GXDefaultPaperTypeUPP = UniversalProcPtr;
  2110.  
  2111.     const
  2112.         uppGXDefaultPaperTypeProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  2113.  
  2114.     function NewGXDefaultPaperTypeProc (userRoutine: GXDefaultPaperTypeProcPtr): GXDefaultPaperTypeUPP;
  2115.     {$IFC NOT GENERATINGCFM }
  2116.     inline
  2117.         $2E9F;
  2118.     {$ENDC}
  2119.  
  2120.     function CallGXDefaultPaperTypeProc (thePaperType: gxPaperType; userRoutine: GXDefaultPaperTypeUPP): OSErr;
  2121.     {$IFC NOT GENERATINGCFM}
  2122.     inline
  2123.         $205F, $4E90;
  2124.     {$ENDC}
  2125.  
  2126.     type
  2127.         GXDefaultPaperTypeProc = GXDefaultPaperTypeUPP;
  2128.  
  2129.  
  2130. {FUNCTION Send_GXDefaultPaperType(thePaperType: gxPaperType): OSErr; C;}
  2131. {FUNCTION Forward_GXDefaultPaperType(thePaperType: gxPaperType): OSErr; C;}
  2132.     type
  2133.         GXDefaultPrinterProcPtr = ProcPtr;  { FUNCTION GXDefaultPrinter(thePrinter: gxPrinter): OSErr; }
  2134.         GXDefaultPrinterUPP = UniversalProcPtr;
  2135.  
  2136.     const
  2137.         uppGXDefaultPrinterProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  2138.  
  2139.     function NewGXDefaultPrinterProc (userRoutine: GXDefaultPrinterProcPtr): GXDefaultPrinterUPP;
  2140.     {$IFC NOT GENERATINGCFM }
  2141.     inline
  2142.         $2E9F;
  2143.     {$ENDC}
  2144.  
  2145.     function CallGXDefaultPrinterProc (thePrinter: gxPrinter; userRoutine: GXDefaultPrinterUPP): OSErr;
  2146.     {$IFC NOT GENERATINGCFM}
  2147.     inline
  2148.         $205F, $4E90;
  2149.     {$ENDC}
  2150.  
  2151.     type
  2152.         GXDefaultPrinterProc = GXDefaultPrinterUPP;
  2153.  
  2154.  
  2155. {FUNCTION Send_GXDefaultPrinter(thePrinter: gxPrinter): OSErr; C;}
  2156. {FUNCTION Forward_GXDefaultPrinter(thePrinter: gxPrinter): OSErr; C;}
  2157.     type
  2158.         GXCreateSpoolFileProcPtr = ProcPtr;  { FUNCTION GXCreateSpoolFile(pFileSpec: FSSpecPtr; createOptions: LONGINT; VAR theSpoolFile: gxSpoolFile): OSErr; }
  2159.         GXCreateSpoolFileUPP = UniversalProcPtr;
  2160.  
  2161.     const
  2162.         uppGXCreateSpoolFileProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2163.  
  2164.     function NewGXCreateSpoolFileProc (userRoutine: GXCreateSpoolFileProcPtr): GXCreateSpoolFileUPP;
  2165.     {$IFC NOT GENERATINGCFM }
  2166.     inline
  2167.         $2E9F;
  2168.     {$ENDC}
  2169.  
  2170.     function CallGXCreateSpoolFileProc (pFileSpec: FSSpecPtr; createOptions: LONGINT; var theSpoolFile: gxSpoolFile; userRoutine: GXCreateSpoolFileUPP): OSErr;
  2171.     {$IFC NOT GENERATINGCFM}
  2172.     inline
  2173.         $205F, $4E90;
  2174.     {$ENDC}
  2175.  
  2176.     type
  2177.         GXCreateSpoolFileProc = GXCreateSpoolFileUPP;
  2178.  
  2179.  
  2180. {FUNCTION Send_GXCreateSpoolFile(pFileSpec: FSSpecPtr; createOptions: LONGINT; VAR theSpoolFile: gxSpoolFile): OSErr; C;}
  2181. {FUNCTION Forward_GXCreateSpoolFile(pFileSpec: FSSpecPtr; createOptions: LONGINT; VAR theSpoolFile: gxSpoolFile): OSErr; C;}
  2182.     type
  2183.         GXSpoolPageProcPtr = ProcPtr;  { FUNCTION GXSpoolPage(theSpoolFile: gxSpoolFile; theFormat: gxFormat; thePage: gxShape): OSErr; }
  2184.         GXSpoolPageUPP = UniversalProcPtr;
  2185.  
  2186.     const
  2187.         uppGXSpoolPageProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2188.  
  2189.     function NewGXSpoolPageProc (userRoutine: GXSpoolPageProcPtr): GXSpoolPageUPP;
  2190.     {$IFC NOT GENERATINGCFM }
  2191.     inline
  2192.         $2E9F;
  2193.     {$ENDC}
  2194.  
  2195.     function CallGXSpoolPageProc (theSpoolFile: gxSpoolFile; theFormat: gxFormat; thePage: gxShape; userRoutine: GXSpoolPageUPP): OSErr;
  2196.     {$IFC NOT GENERATINGCFM}
  2197.     inline
  2198.         $205F, $4E90;
  2199.     {$ENDC}
  2200.  
  2201.     type
  2202.         GXSpoolPageProc = GXSpoolPageUPP;
  2203.  
  2204.  
  2205. {FUNCTION Send_GXSpoolPage(theSpoolFile: gxSpoolFile; theFormat: gxFormat; thePage: gxShape): OSErr; C;}
  2206. {FUNCTION Forward_GXSpoolPage(theSpoolFile: gxSpoolFile; theFormat: gxFormat; thePage: gxShape): OSErr; C;}
  2207.     type
  2208.         GXSpoolDataProcPtr = ProcPtr;  { FUNCTION GXSpoolData(theSpoolFile: gxSpoolFile; data: Ptr; VAR length: LONGINT): OSErr; }
  2209.         GXSpoolDataUPP = UniversalProcPtr;
  2210.  
  2211.     const
  2212.         uppGXSpoolDataProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2213.  
  2214.     function NewGXSpoolDataProc (userRoutine: GXSpoolDataProcPtr): GXSpoolDataUPP;
  2215.     {$IFC NOT GENERATINGCFM }
  2216.     inline
  2217.         $2E9F;
  2218.     {$ENDC}
  2219.  
  2220.     function CallGXSpoolDataProc (theSpoolFile: gxSpoolFile; data: Ptr; var length: LONGINT; userRoutine: GXSpoolDataUPP): OSErr;
  2221.     {$IFC NOT GENERATINGCFM}
  2222.     inline
  2223.         $205F, $4E90;
  2224.     {$ENDC}
  2225.  
  2226.     type
  2227.         GXSpoolDataProc = GXSpoolDataUPP;
  2228.  
  2229.  
  2230. {FUNCTION Send_GXSpoolData(theSpoolFile: gxSpoolFile; data: Ptr; VAR length: LONGINT): OSErr; C;}
  2231. {FUNCTION Forward_GXSpoolData(theSpoolFile: gxSpoolFile; data: Ptr; VAR length: LONGINT): OSErr; C;}
  2232.     type
  2233.         GXSpoolResourceProcPtr = ProcPtr;  { FUNCTION GXSpoolResource(theSpoolFile: gxSpoolFile; theResource: Handle; theType: ResType; id: LONGINT): OSErr; }
  2234.         GXSpoolResourceUPP = UniversalProcPtr;
  2235.  
  2236.     const
  2237.         uppGXSpoolResourceProcInfo = $00003FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2238.  
  2239.     function NewGXSpoolResourceProc (userRoutine: GXSpoolResourceProcPtr): GXSpoolResourceUPP;
  2240.     {$IFC NOT GENERATINGCFM }
  2241.     inline
  2242.         $2E9F;
  2243.     {$ENDC}
  2244.  
  2245.     function CallGXSpoolResourceProc (theSpoolFile: gxSpoolFile; theResource: Handle; theType: ResType; id: LONGINT; userRoutine: GXSpoolResourceUPP): OSErr;
  2246.     {$IFC NOT GENERATINGCFM}
  2247.     inline
  2248.         $205F, $4E90;
  2249.     {$ENDC}
  2250.  
  2251.     type
  2252.         GXSpoolResourceProc = GXSpoolResourceUPP;
  2253.  
  2254.  
  2255. {FUNCTION Send_GXSpoolResource(theSpoolFile: gxSpoolFile; theResource: Handle; theType: ResType; id: LONGINT): OSErr; C;}
  2256. {FUNCTION Forward_GXSpoolResource(theSpoolFile: gxSpoolFile; theResource: Handle; theType: ResType; id: LONGINT): OSErr; C;}
  2257.     type
  2258.         GXCompleteSpoolFileProcPtr = ProcPtr;  { FUNCTION GXCompleteSpoolFile(theSpoolFile: gxSpoolFile): OSErr; }
  2259.         GXCompleteSpoolFileUPP = UniversalProcPtr;
  2260.  
  2261.     const
  2262.         uppGXCompleteSpoolFileProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  2263.  
  2264.     function NewGXCompleteSpoolFileProc (userRoutine: GXCompleteSpoolFileProcPtr): GXCompleteSpoolFileUPP;
  2265.     {$IFC NOT GENERATINGCFM }
  2266.     inline
  2267.         $2E9F;
  2268.     {$ENDC}
  2269.  
  2270.     function CallGXCompleteSpoolFileProc (theSpoolFile: gxSpoolFile; userRoutine: GXCompleteSpoolFileUPP): OSErr;
  2271.     {$IFC NOT GENERATINGCFM}
  2272.     inline
  2273.         $205F, $4E90;
  2274.     {$ENDC}
  2275.  
  2276.     type
  2277.         GXCompleteSpoolFileProc = GXCompleteSpoolFileUPP;
  2278.  
  2279.  
  2280. {FUNCTION Send_GXCompleteSpoolFile(theSpoolFile: gxSpoolFile): OSErr; C;}
  2281. {FUNCTION Forward_GXCompleteSpoolFile(theSpoolFile: gxSpoolFile): OSErr; C;}
  2282.     type
  2283.         GXCountPagesProcPtr = ProcPtr;  { FUNCTION GXCountPages(theSpoolFile: gxSpoolFile; VAR numPages: LONGINT): OSErr; }
  2284.         GXCountPagesUPP = UniversalProcPtr;
  2285.  
  2286.     const
  2287.         uppGXCountPagesProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  2288.  
  2289.     function NewGXCountPagesProc (userRoutine: GXCountPagesProcPtr): GXCountPagesUPP;
  2290.     {$IFC NOT GENERATINGCFM }
  2291.     inline
  2292.         $2E9F;
  2293.     {$ENDC}
  2294.  
  2295.     function CallGXCountPagesProc (theSpoolFile: gxSpoolFile; var numPages: LONGINT; userRoutine: GXCountPagesUPP): OSErr;
  2296.     {$IFC NOT GENERATINGCFM}
  2297.     inline
  2298.         $205F, $4E90;
  2299.     {$ENDC}
  2300.  
  2301.     type
  2302.         GXCountPagesProc = GXCountPagesUPP;
  2303.  
  2304.  
  2305. {FUNCTION Send_GXCountPages(theSpoolFile: gxSpoolFile; VAR numPages: LONGINT): OSErr; C;}
  2306. {FUNCTION Forward_GXCountPages(theSpoolFile: gxSpoolFile; VAR numPages: LONGINT): OSErr; C;}
  2307.     type
  2308.         GXDespoolPageProcPtr = ProcPtr;  { FUNCTION GXDespoolPage(theSpoolFile: gxSpoolFile; numPages: LONGINT; theFormat: gxFormat; VAR thePage: gxShape; VAR formatChanged: BOOLEAN): OSErr; }
  2309.         GXDespoolPageUPP = UniversalProcPtr;
  2310.  
  2311.     const
  2312.         uppGXDespoolPageProcInfo = $0000FFE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2313.  
  2314.     function NewGXDespoolPageProc (userRoutine: GXDespoolPageProcPtr): GXDespoolPageUPP;
  2315.     {$IFC NOT GENERATINGCFM }
  2316.     inline
  2317.         $2E9F;
  2318.     {$ENDC}
  2319.  
  2320.     function CallGXDespoolPageProc (theSpoolFile: gxSpoolFile; numPages: LONGINT; theFormat: gxFormat; var thePage: gxShape; var formatChanged: BOOLEAN; userRoutine: GXDespoolPageUPP): OSErr;
  2321.     {$IFC NOT GENERATINGCFM}
  2322.     inline
  2323.         $205F, $4E90;
  2324.     {$ENDC}
  2325.  
  2326.     type
  2327.         GXDespoolPageProc = GXDespoolPageUPP;
  2328.  
  2329.  
  2330. {FUNCTION Send_GXDespoolPage(theSpoolFile: gxSpoolFile; numPages: LONGINT; theFormat: gxFormat; VAR thePage: gxShape; VAR formatChanged: BOOLEAN): OSErr; C;}
  2331. {FUNCTION Forward_GXDespoolPage(theSpoolFile: gxSpoolFile; numPages: LONGINT; theFormat: gxFormat; VAR thePage: gxShape; VAR formatChanged: BOOLEAN): OSErr; C;}
  2332.     type
  2333.         GXDespoolDataProcPtr = ProcPtr;  { FUNCTION GXDespoolData(theSpoolFile: gxSpoolFile; data: Ptr; VAR length: LONGINT): OSErr; }
  2334.         GXDespoolDataUPP = UniversalProcPtr;
  2335.  
  2336.     const
  2337.         uppGXDespoolDataProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2338.  
  2339.     function NewGXDespoolDataProc (userRoutine: GXDespoolDataProcPtr): GXDespoolDataUPP;
  2340.     {$IFC NOT GENERATINGCFM }
  2341.     inline
  2342.         $2E9F;
  2343.     {$ENDC}
  2344.  
  2345.     function CallGXDespoolDataProc (theSpoolFile: gxSpoolFile; data: Ptr; var length: LONGINT; userRoutine: GXDespoolDataUPP): OSErr;
  2346.     {$IFC NOT GENERATINGCFM}
  2347.     inline
  2348.         $205F, $4E90;
  2349.     {$ENDC}
  2350.  
  2351.     type
  2352.         GXDespoolDataProc = GXDespoolDataUPP;
  2353.  
  2354.  
  2355. {FUNCTION Send_GXDespoolData(theSpoolFile: gxSpoolFile; data: Ptr; VAR length: LONGINT): OSErr; C;}
  2356. {FUNCTION Forward_GXDespoolData(theSpoolFile: gxSpoolFile; data: Ptr; VAR length: LONGINT): OSErr; C;}
  2357.     type
  2358.         GXDespoolResourceProcPtr = ProcPtr;  { FUNCTION GXDespoolResource(theSpoolFile: gxSpoolFile; theType: ResType; id: LONGINT; VAR theResource: Handle): OSErr; }
  2359.         GXDespoolResourceUPP = UniversalProcPtr;
  2360.  
  2361.     const
  2362.         uppGXDespoolResourceProcInfo = $00003FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2363.  
  2364.     function NewGXDespoolResourceProc (userRoutine: GXDespoolResourceProcPtr): GXDespoolResourceUPP;
  2365.     {$IFC NOT GENERATINGCFM }
  2366.     inline
  2367.         $2E9F;
  2368.     {$ENDC}
  2369.  
  2370.     function CallGXDespoolResourceProc (theSpoolFile: gxSpoolFile; theType: ResType; id: LONGINT; var theResource: Handle; userRoutine: GXDespoolResourceUPP): OSErr;
  2371.     {$IFC NOT GENERATINGCFM}
  2372.     inline
  2373.         $205F, $4E90;
  2374.     {$ENDC}
  2375.  
  2376.     type
  2377.         GXDespoolResourceProc = GXDespoolResourceUPP;
  2378.  
  2379.  
  2380. {FUNCTION Send_GXDespoolResource(theSpoolFile: gxSpoolFile; theType: ResType; id: LONGINT; VAR theResource: Handle): OSErr; C;}
  2381. {FUNCTION Forward_GXDespoolResource(theSpoolFile: gxSpoolFile; theType: ResType; id: LONGINT; VAR theResource: Handle): OSErr; C;}
  2382.     type
  2383.         GXCloseSpoolFileProcPtr = ProcPtr;  { FUNCTION GXCloseSpoolFile(theSpoolFile: gxSpoolFile; closeOptions: LONGINT): OSErr; }
  2384.         GXCloseSpoolFileUPP = UniversalProcPtr;
  2385.  
  2386.     const
  2387.         uppGXCloseSpoolFileProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  2388.  
  2389.     function NewGXCloseSpoolFileProc (userRoutine: GXCloseSpoolFileProcPtr): GXCloseSpoolFileUPP;
  2390.     {$IFC NOT GENERATINGCFM }
  2391.     inline
  2392.         $2E9F;
  2393.     {$ENDC}
  2394.  
  2395.     function CallGXCloseSpoolFileProc (theSpoolFile: gxSpoolFile; closeOptions: LONGINT; userRoutine: GXCloseSpoolFileUPP): OSErr;
  2396.     {$IFC NOT GENERATINGCFM}
  2397.     inline
  2398.         $205F, $4E90;
  2399.     {$ENDC}
  2400.  
  2401.     type
  2402.         GXCloseSpoolFileProc = GXCloseSpoolFileUPP;
  2403.  
  2404.  
  2405. {FUNCTION Send_GXCloseSpoolFile(theSpoolFile: gxSpoolFile; closeOptions: LONGINT): OSErr; C;}
  2406. {FUNCTION Forward_GXCloseSpoolFile(theSpoolFile: gxSpoolFile; closeOptions: LONGINT): OSErr; C;}
  2407.     type
  2408.         GXStartJobProcPtr = ProcPtr;  { FUNCTION GXStartJob(docName: StringPtr; pageCount: LONGINT): OSErr; }
  2409.         GXStartJobUPP = UniversalProcPtr;
  2410.  
  2411.     const
  2412.         uppGXStartJobProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  2413.  
  2414.     function NewGXStartJobProc (userRoutine: GXStartJobProcPtr): GXStartJobUPP;
  2415.     {$IFC NOT GENERATINGCFM }
  2416.     inline
  2417.         $2E9F;
  2418.     {$ENDC}
  2419.  
  2420.     function CallGXStartJobProc (docName: StringPtr; pageCount: LONGINT; userRoutine: GXStartJobUPP): OSErr;
  2421.     {$IFC NOT GENERATINGCFM}
  2422.     inline
  2423.         $205F, $4E90;
  2424.     {$ENDC}
  2425.  
  2426.     type
  2427.         GXStartJobProc = GXStartJobUPP;
  2428.  
  2429.  
  2430. {FUNCTION Send_GXStartJob(docName: StringPtr; pageCount: LONGINT): OSErr; C;}
  2431. {FUNCTION Forward_GXStartJob(docName: StringPtr; pageCount: LONGINT): OSErr; C;}
  2432.     type
  2433.         GXFinishJobProcPtr = ProcPtr;  { FUNCTION GXFinishJob: OSErr; }
  2434.         GXFinishJobUPP = UniversalProcPtr;
  2435.  
  2436.     const
  2437.         uppGXFinishJobProcInfo = $00000021; { FUNCTION : 2 byte result; }
  2438.  
  2439.     function NewGXFinishJobProc (userRoutine: GXFinishJobProcPtr): GXFinishJobUPP;
  2440.     {$IFC NOT GENERATINGCFM }
  2441.     inline
  2442.         $2E9F;
  2443.     {$ENDC}
  2444.  
  2445.     function CallGXFinishJobProc (userRoutine: GXFinishJobUPP): OSErr;
  2446.     {$IFC NOT GENERATINGCFM}
  2447.     inline
  2448.         $205F, $4E90;
  2449.     {$ENDC}
  2450.  
  2451.     type
  2452.         GXFinishJobProc = GXFinishJobUPP;
  2453.  
  2454.  
  2455. {FUNCTION Send_GXFinishJob: OSErr; C;}
  2456. {FUNCTION Forward_GXFinishJob: OSErr; C;}
  2457.     type
  2458.         GXStartPageProcPtr = ProcPtr;  { FUNCTION GXStartPage(theFormat: gxFormat; numViewPorts: LONGINT; VAR viewPortList: gxViewPort): OSErr; }
  2459.         GXStartPageUPP = UniversalProcPtr;
  2460.  
  2461.     const
  2462.         uppGXStartPageProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2463.  
  2464.     function NewGXStartPageProc (userRoutine: GXStartPageProcPtr): GXStartPageUPP;
  2465.     {$IFC NOT GENERATINGCFM }
  2466.     inline
  2467.         $2E9F;
  2468.     {$ENDC}
  2469.  
  2470.     function CallGXStartPageProc (theFormat: gxFormat; numViewPorts: LONGINT; var viewPortList: gxViewPort; userRoutine: GXStartPageUPP): OSErr;
  2471.     {$IFC NOT GENERATINGCFM}
  2472.     inline
  2473.         $205F, $4E90;
  2474.     {$ENDC}
  2475.  
  2476.     type
  2477.         GXStartPageProc = GXStartPageUPP;
  2478.  
  2479.  
  2480. {FUNCTION Send_GXStartPage(theFormat: gxFormat; numViewPorts: LONGINT; VAR viewPortList: gxViewPort): OSErr; C;}
  2481. {FUNCTION Forward_GXStartPage(theFormat: gxFormat; numViewPorts: LONGINT; VAR viewPortList: gxViewPort): OSErr; C;}
  2482.     type
  2483.         GXFinishPageProcPtr = ProcPtr;  { FUNCTION GXFinishPage: OSErr; }
  2484.         GXFinishPageUPP = UniversalProcPtr;
  2485.  
  2486.     const
  2487.         uppGXFinishPageProcInfo = $00000021; { FUNCTION : 2 byte result; }
  2488.  
  2489.     function NewGXFinishPageProc (userRoutine: GXFinishPageProcPtr): GXFinishPageUPP;
  2490.     {$IFC NOT GENERATINGCFM }
  2491.     inline
  2492.         $2E9F;
  2493.     {$ENDC}
  2494.  
  2495.     function CallGXFinishPageProc (userRoutine: GXFinishPageUPP): OSErr;
  2496.     {$IFC NOT GENERATINGCFM}
  2497.     inline
  2498.         $205F, $4E90;
  2499.     {$ENDC}
  2500.  
  2501.     type
  2502.         GXFinishPageProc = GXFinishPageUPP;
  2503.  
  2504.  
  2505. {FUNCTION Send_GXFinishPage: OSErr; C;}
  2506. {FUNCTION Forward_GXFinishPage: OSErr; C;}
  2507.     type
  2508.         GXPrintPageProcPtr = ProcPtr;  { FUNCTION GXPrintPage(theFormat: gxFormat; thePage: gxShape): OSErr; }
  2509.         GXPrintPageUPP = UniversalProcPtr;
  2510.  
  2511.     const
  2512.         uppGXPrintPageProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  2513.  
  2514.     function NewGXPrintPageProc (userRoutine: GXPrintPageProcPtr): GXPrintPageUPP;
  2515.     {$IFC NOT GENERATINGCFM }
  2516.     inline
  2517.         $2E9F;
  2518.     {$ENDC}
  2519.  
  2520.     function CallGXPrintPageProc (theFormat: gxFormat; thePage: gxShape; userRoutine: GXPrintPageUPP): OSErr;
  2521.     {$IFC NOT GENERATINGCFM}
  2522.     inline
  2523.         $205F, $4E90;
  2524.     {$ENDC}
  2525.  
  2526.     type
  2527.         GXPrintPageProc = GXPrintPageUPP;
  2528.  
  2529.  
  2530. {FUNCTION Send_GXPrintPage(theFormat: gxFormat; thePage: gxShape): OSErr; C;}
  2531. {FUNCTION Forward_GXPrintPage(theFormat: gxFormat; thePage: gxShape): OSErr; C;}
  2532.     type
  2533.         GXSetupImageDataProcPtr = ProcPtr;  { FUNCTION GXSetupImageData(imageData: UNIV Ptr): OSErr; }
  2534.         GXSetupImageDataUPP = UniversalProcPtr;
  2535.  
  2536.     const
  2537.         uppGXSetupImageDataProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  2538.  
  2539.     function NewGXSetupImageDataProc (userRoutine: GXSetupImageDataProcPtr): GXSetupImageDataUPP;
  2540.     {$IFC NOT GENERATINGCFM }
  2541.     inline
  2542.         $2E9F;
  2543.     {$ENDC}
  2544.  
  2545.     function CallGXSetupImageDataProc (imageData: univ Ptr; userRoutine: GXSetupImageDataUPP): OSErr;
  2546.     {$IFC NOT GENERATINGCFM}
  2547.     inline
  2548.         $205F, $4E90;
  2549.     {$ENDC}
  2550.  
  2551.     type
  2552.         GXSetupImageDataProc = GXSetupImageDataUPP;
  2553.  
  2554.  
  2555. {FUNCTION Send_GXSetupImageData(imageData: UNIV Ptr): OSErr; C;}
  2556. {FUNCTION Forward_GXSetupImageData(imageData: UNIV Ptr): OSErr; C;}
  2557.     type
  2558.         GXImageJobProcPtr = ProcPtr;  { FUNCTION GXImageJob(theSpoolFile: gxSpoolFile; VAR closeOptions: LONGINT): OSErr; }
  2559.         GXImageJobUPP = UniversalProcPtr;
  2560.  
  2561.     const
  2562.         uppGXImageJobProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  2563.  
  2564.     function NewGXImageJobProc (userRoutine: GXImageJobProcPtr): GXImageJobUPP;
  2565.     {$IFC NOT GENERATINGCFM }
  2566.     inline
  2567.         $2E9F;
  2568.     {$ENDC}
  2569.  
  2570.     function CallGXImageJobProc (theSpoolFile: gxSpoolFile; var closeOptions: LONGINT; userRoutine: GXImageJobUPP): OSErr;
  2571.     {$IFC NOT GENERATINGCFM}
  2572.     inline
  2573.         $205F, $4E90;
  2574.     {$ENDC}
  2575.  
  2576.     type
  2577.         GXImageJobProc = GXImageJobUPP;
  2578.  
  2579.  
  2580. {FUNCTION Send_GXImageJob(theSpoolFile: gxSpoolFile; VAR closeOptions: LONGINT): OSErr; C;}
  2581. {FUNCTION Forward_GXImageJob(theSpoolFile: gxSpoolFile; VAR closeOptions: LONGINT): OSErr; C;}
  2582.     type
  2583.         GXImageDocumentProcPtr = ProcPtr;  { FUNCTION GXImageDocument(theSpoolFile: gxSpoolFile; imageData: UNIV Ptr): OSErr; }
  2584.         GXImageDocumentUPP = UniversalProcPtr;
  2585.  
  2586.     const
  2587.         uppGXImageDocumentProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  2588.  
  2589.     function NewGXImageDocumentProc (userRoutine: GXImageDocumentProcPtr): GXImageDocumentUPP;
  2590.     {$IFC NOT GENERATINGCFM }
  2591.     inline
  2592.         $2E9F;
  2593.     {$ENDC}
  2594.  
  2595.     function CallGXImageDocumentProc (theSpoolFile: gxSpoolFile; imageData: univ Ptr; userRoutine: GXImageDocumentUPP): OSErr;
  2596.     {$IFC NOT GENERATINGCFM}
  2597.     inline
  2598.         $205F, $4E90;
  2599.     {$ENDC}
  2600.  
  2601.     type
  2602.         GXImageDocumentProc = GXImageDocumentUPP;
  2603.  
  2604.  
  2605. {FUNCTION Send_GXImageDocument(theSpoolFile: gxSpoolFile; imageData: UNIV Ptr): OSErr; C;}
  2606. {FUNCTION Forward_GXImageDocument(theSpoolFile: gxSpoolFile; imageData: UNIV Ptr): OSErr; C;}
  2607.     type
  2608.         GXImagePageProcPtr = ProcPtr;  { FUNCTION GXImagePage(theSpoolFile: gxSpoolFile; pageNumber: LONGINT; theFormat: gxFormat; imageData: UNIV Ptr): OSErr; }
  2609.         GXImagePageUPP = UniversalProcPtr;
  2610.  
  2611.     const
  2612.         uppGXImagePageProcInfo = $00003FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2613.  
  2614.     function NewGXImagePageProc (userRoutine: GXImagePageProcPtr): GXImagePageUPP;
  2615.     {$IFC NOT GENERATINGCFM }
  2616.     inline
  2617.         $2E9F;
  2618.     {$ENDC}
  2619.  
  2620.     function CallGXImagePageProc (theSpoolFile: gxSpoolFile; pageNumber: LONGINT; theFormat: gxFormat; imageData: univ Ptr; userRoutine: GXImagePageUPP): OSErr;
  2621.     {$IFC NOT GENERATINGCFM}
  2622.     inline
  2623.         $205F, $4E90;
  2624.     {$ENDC}
  2625.  
  2626.     type
  2627.         GXImagePageProc = GXImagePageUPP;
  2628.  
  2629.  
  2630. {FUNCTION Send_GXImagePage(theSpoolFile: gxSpoolFile; pageNumber: LONGINT; theFormat: gxFormat; imageData: UNIV Ptr): OSErr; C;}
  2631. {FUNCTION Forward_GXImagePage(theSpoolFile: gxSpoolFile; pageNumber: LONGINT; theFormat: gxFormat; imageData: UNIV Ptr): OSErr; C;}
  2632.     type
  2633.         GXRenderPageProcPtr = ProcPtr;  { FUNCTION GXRenderPage(theFormat: gxFormat; thePage: gxShape; VAR pageInfo: gxPageInfoRecord; imageData: UNIV Ptr): OSErr; }
  2634.         GXRenderPageUPP = UniversalProcPtr;
  2635.  
  2636.     const
  2637.         uppGXRenderPageProcInfo = $00003FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2638.  
  2639.     function NewGXRenderPageProc (userRoutine: GXRenderPageProcPtr): GXRenderPageUPP;
  2640.     {$IFC NOT GENERATINGCFM }
  2641.     inline
  2642.         $2E9F;
  2643.     {$ENDC}
  2644.  
  2645.     function CallGXRenderPageProc (theFormat: gxFormat; thePage: gxShape; var pageInfo: gxPageInfoRecord; imageData: univ Ptr; userRoutine: GXRenderPageUPP): OSErr;
  2646.     {$IFC NOT GENERATINGCFM}
  2647.     inline
  2648.         $205F, $4E90;
  2649.     {$ENDC}
  2650.  
  2651.     type
  2652.         GXRenderPageProc = GXRenderPageUPP;
  2653.  
  2654.  
  2655. {FUNCTION Send_GXRenderPage(theFormat: gxFormat; thePage: gxShape; VAR pageInfo: gxPageInfoRecord; imageData: UNIV Ptr): OSErr; C;}
  2656. {FUNCTION Forward_GXRenderPage(theFormat: gxFormat; thePage: gxShape; VAR pageInfo: gxPageInfoRecord; imageData: UNIV Ptr): OSErr; C;}
  2657.     type
  2658.         GXCreateImageFileProcPtr = ProcPtr;  { FUNCTION GXCreateImageFile(pFileSpec: FSSpecPtr; imageFileOptions: LONGINT; VAR theImageFile: LONGINT): OSErr; }
  2659.         GXCreateImageFileUPP = UniversalProcPtr;
  2660.  
  2661.     const
  2662.         uppGXCreateImageFileProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2663.  
  2664.     function NewGXCreateImageFileProc (userRoutine: GXCreateImageFileProcPtr): GXCreateImageFileUPP;
  2665.     {$IFC NOT GENERATINGCFM }
  2666.     inline
  2667.         $2E9F;
  2668.     {$ENDC}
  2669.  
  2670.     function CallGXCreateImageFileProc (pFileSpec: FSSpecPtr; imageFileOptions: LONGINT; var theImageFile: LONGINT; userRoutine: GXCreateImageFileUPP): OSErr;
  2671.     {$IFC NOT GENERATINGCFM}
  2672.     inline
  2673.         $205F, $4E90;
  2674.     {$ENDC}
  2675.  
  2676.     type
  2677.         GXCreateImageFileProc = GXCreateImageFileUPP;
  2678.  
  2679.  
  2680. {FUNCTION Send_GXCreateImageFile(pFileSpec: FSSpecPtr; imageFileOptions: LONGINT; VAR theImageFile: LONGINT): OSErr; C;}
  2681. {FUNCTION Forward_GXCreateImageFile(pFileSpec: FSSpecPtr; imageFileOptions: LONGINT; VAR theImageFile: LONGINT): OSErr; C;}
  2682.     type
  2683.         GXOpenConnectionProcPtr = ProcPtr;  { FUNCTION GXOpenConnection: OSErr; }
  2684.         GXOpenConnectionUPP = UniversalProcPtr;
  2685.  
  2686.     const
  2687.         uppGXOpenConnectionProcInfo = $00000021; { FUNCTION : 2 byte result; }
  2688.  
  2689.     function NewGXOpenConnectionProc (userRoutine: GXOpenConnectionProcPtr): GXOpenConnectionUPP;
  2690.     {$IFC NOT GENERATINGCFM }
  2691.     inline
  2692.         $2E9F;
  2693.     {$ENDC}
  2694.  
  2695.     function CallGXOpenConnectionProc (userRoutine: GXOpenConnectionUPP): OSErr;
  2696.     {$IFC NOT GENERATINGCFM}
  2697.     inline
  2698.         $205F, $4E90;
  2699.     {$ENDC}
  2700.  
  2701.     type
  2702.         GXOpenConnectionProc = GXOpenConnectionUPP;
  2703.  
  2704.  
  2705. {FUNCTION Send_GXOpenConnection: OSErr; C;}
  2706. {FUNCTION Forward_GXOpenConnection: OSErr; C;}
  2707.     type
  2708.         GXCloseConnectionProcPtr = ProcPtr;  { FUNCTION GXCloseConnection: OSErr; }
  2709.         GXCloseConnectionUPP = UniversalProcPtr;
  2710.  
  2711.     const
  2712.         uppGXCloseConnectionProcInfo = $00000021; { FUNCTION : 2 byte result; }
  2713.  
  2714.     function NewGXCloseConnectionProc (userRoutine: GXCloseConnectionProcPtr): GXCloseConnectionUPP;
  2715.     {$IFC NOT GENERATINGCFM }
  2716.     inline
  2717.         $2E9F;
  2718.     {$ENDC}
  2719.  
  2720.     function CallGXCloseConnectionProc (userRoutine: GXCloseConnectionUPP): OSErr;
  2721.     {$IFC NOT GENERATINGCFM}
  2722.     inline
  2723.         $205F, $4E90;
  2724.     {$ENDC}
  2725.  
  2726.     type
  2727.         GXCloseConnectionProc = GXCloseConnectionUPP;
  2728.  
  2729.  
  2730. {FUNCTION Send_GXCloseConnection: OSErr; C;}
  2731. {FUNCTION Forward_GXCloseConnection: OSErr; C;}
  2732.     type
  2733.         GXStartSendPageProcPtr = ProcPtr;  { FUNCTION GXStartSendPage(theFormat: gxFormat): OSErr; }
  2734.         GXStartSendPageUPP = UniversalProcPtr;
  2735.  
  2736.     const
  2737.         uppGXStartSendPageProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  2738.  
  2739.     function NewGXStartSendPageProc (userRoutine: GXStartSendPageProcPtr): GXStartSendPageUPP;
  2740.     {$IFC NOT GENERATINGCFM }
  2741.     inline
  2742.         $2E9F;
  2743.     {$ENDC}
  2744.  
  2745.     function CallGXStartSendPageProc (theFormat: gxFormat; userRoutine: GXStartSendPageUPP): OSErr;
  2746.     {$IFC NOT GENERATINGCFM}
  2747.     inline
  2748.         $205F, $4E90;
  2749.     {$ENDC}
  2750.  
  2751.     type
  2752.         GXStartSendPageProc = GXStartSendPageUPP;
  2753.  
  2754.  
  2755. {FUNCTION Send_GXStartSendPage(theFormat: gxFormat): OSErr; C;}
  2756. {FUNCTION Forward_GXStartSendPage(theFormat: gxFormat): OSErr; C;}
  2757.     type
  2758.         GXFinishSendPageProcPtr = ProcPtr;  { FUNCTION GXFinishSendPage: OSErr; }
  2759.         GXFinishSendPageUPP = UniversalProcPtr;
  2760.  
  2761.     const
  2762.         uppGXFinishSendPageProcInfo = $00000021; { FUNCTION : 2 byte result; }
  2763.  
  2764.     function NewGXFinishSendPageProc (userRoutine: GXFinishSendPageProcPtr): GXFinishSendPageUPP;
  2765.     {$IFC NOT GENERATINGCFM }
  2766.     inline
  2767.         $2E9F;
  2768.     {$ENDC}
  2769.  
  2770.     function CallGXFinishSendPageProc (userRoutine: GXFinishSendPageUPP): OSErr;
  2771.     {$IFC NOT GENERATINGCFM}
  2772.     inline
  2773.         $205F, $4E90;
  2774.     {$ENDC}
  2775.  
  2776.     type
  2777.         GXFinishSendPageProc = GXFinishSendPageUPP;
  2778.  
  2779.  
  2780. {FUNCTION Send_GXFinishSendPage: OSErr; C;}
  2781. {FUNCTION Forward_GXFinishSendPage: OSErr; C;}
  2782.     type
  2783.         GXWriteDataProcPtr = ProcPtr;  { FUNCTION GXWriteData(data: Ptr; length: LONGINT): OSErr; }
  2784.         GXWriteDataUPP = UniversalProcPtr;
  2785.  
  2786.     const
  2787.         uppGXWriteDataProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  2788.  
  2789.     function NewGXWriteDataProc (userRoutine: GXWriteDataProcPtr): GXWriteDataUPP;
  2790.     {$IFC NOT GENERATINGCFM }
  2791.     inline
  2792.         $2E9F;
  2793.     {$ENDC}
  2794.  
  2795.     function CallGXWriteDataProc (data: Ptr; length: LONGINT; userRoutine: GXWriteDataUPP): OSErr;
  2796.     {$IFC NOT GENERATINGCFM}
  2797.     inline
  2798.         $205F, $4E90;
  2799.     {$ENDC}
  2800.  
  2801.     type
  2802.         GXWriteDataProc = GXWriteDataUPP;
  2803.  
  2804.  
  2805. {FUNCTION Send_GXWriteData(data: Ptr; length: LONGINT): OSErr; C;}
  2806. {FUNCTION Forward_GXWriteData(data: Ptr; length: LONGINT): OSErr; C;}
  2807.     type
  2808.         GXBufferDataProcPtr = ProcPtr;  { FUNCTION GXBufferData(data: Ptr; length: LONGINT; bufferOptions: LONGINT): OSErr; }
  2809.         GXBufferDataUPP = UniversalProcPtr;
  2810.  
  2811.     const
  2812.         uppGXBufferDataProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2813.  
  2814.     function NewGXBufferDataProc (userRoutine: GXBufferDataProcPtr): GXBufferDataUPP;
  2815.     {$IFC NOT GENERATINGCFM }
  2816.     inline
  2817.         $2E9F;
  2818.     {$ENDC}
  2819.  
  2820.     function CallGXBufferDataProc (data: Ptr; length: LONGINT; bufferOptions: LONGINT; userRoutine: GXBufferDataUPP): OSErr;
  2821.     {$IFC NOT GENERATINGCFM}
  2822.     inline
  2823.         $205F, $4E90;
  2824.     {$ENDC}
  2825.  
  2826.     type
  2827.         GXBufferDataProc = GXBufferDataUPP;
  2828.  
  2829.  
  2830. {FUNCTION Send_GXBufferData(data: Ptr; length: LONGINT; bufferOptions: LONGINT): OSErr; C;}
  2831. {FUNCTION Forward_GXBufferData(data: Ptr; length: LONGINT; bufferOptions: LONGINT): OSErr; C;}
  2832.     type
  2833.         GXDumpBufferProcPtr = ProcPtr;  { FUNCTION GXDumpBuffer(VAR theBuffer: gxPrintingBuffer): OSErr; }
  2834.         GXDumpBufferUPP = UniversalProcPtr;
  2835.  
  2836.     const
  2837.         uppGXDumpBufferProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  2838.  
  2839.     function NewGXDumpBufferProc (userRoutine: GXDumpBufferProcPtr): GXDumpBufferUPP;
  2840.     {$IFC NOT GENERATINGCFM }
  2841.     inline
  2842.         $2E9F;
  2843.     {$ENDC}
  2844.  
  2845.     function CallGXDumpBufferProc (var theBuffer: gxPrintingBuffer; userRoutine: GXDumpBufferUPP): OSErr;
  2846.     {$IFC NOT GENERATINGCFM}
  2847.     inline
  2848.         $205F, $4E90;
  2849.     {$ENDC}
  2850.  
  2851.     type
  2852.         GXDumpBufferProc = GXDumpBufferUPP;
  2853.  
  2854.  
  2855. {FUNCTION Send_GXDumpBuffer(VAR theBuffer: gxPrintingBuffer): OSErr; C;}
  2856. {FUNCTION Forward_GXDumpBuffer(VAR theBuffer: gxPrintingBuffer): OSErr; C;}
  2857.     type
  2858.         GXFreeBufferProcPtr = ProcPtr;  { FUNCTION GXFreeBuffer(VAR theBuffer: gxPrintingBuffer): OSErr; }
  2859.         GXFreeBufferUPP = UniversalProcPtr;
  2860.  
  2861.     const
  2862.         uppGXFreeBufferProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  2863.  
  2864.     function NewGXFreeBufferProc (userRoutine: GXFreeBufferProcPtr): GXFreeBufferUPP;
  2865.     {$IFC NOT GENERATINGCFM }
  2866.     inline
  2867.         $2E9F;
  2868.     {$ENDC}
  2869.  
  2870.     function CallGXFreeBufferProc (var theBuffer: gxPrintingBuffer; userRoutine: GXFreeBufferUPP): OSErr;
  2871.     {$IFC NOT GENERATINGCFM}
  2872.     inline
  2873.         $205F, $4E90;
  2874.     {$ENDC}
  2875.  
  2876.     type
  2877.         GXFreeBufferProc = GXFreeBufferUPP;
  2878.  
  2879.  
  2880. {FUNCTION Send_GXFreeBuffer(VAR theBuffer: gxPrintingBuffer): OSErr; C;}
  2881. {FUNCTION Forward_GXFreeBuffer(VAR theBuffer: gxPrintingBuffer): OSErr; C;}
  2882.     type
  2883.         GXCheckStatusProcPtr = ProcPtr;  { FUNCTION GXCheckStatus(data: Ptr; length: LONGINT; statusType: LONGINT; owner: gxOwnerSignature): OSErr; }
  2884.         GXCheckStatusUPP = UniversalProcPtr;
  2885.  
  2886.     const
  2887.         uppGXCheckStatusProcInfo = $00003FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2888.  
  2889.     function NewGXCheckStatusProc (userRoutine: GXCheckStatusProcPtr): GXCheckStatusUPP;
  2890.     {$IFC NOT GENERATINGCFM }
  2891.     inline
  2892.         $2E9F;
  2893.     {$ENDC}
  2894.  
  2895.     function CallGXCheckStatusProc (data: Ptr; length: LONGINT; statusType: LONGINT; owner: gxOwnerSignature; userRoutine: GXCheckStatusUPP): OSErr;
  2896.     {$IFC NOT GENERATINGCFM}
  2897.     inline
  2898.         $205F, $4E90;
  2899.     {$ENDC}
  2900.  
  2901.     type
  2902.         GXCheckStatusProc = GXCheckStatusUPP;
  2903.  
  2904.  
  2905. {FUNCTION Send_GXCheckStatus(data: Ptr; length: LONGINT; statusType: LONGINT; owner: gxOwnerSignature): OSErr; C;}
  2906. {FUNCTION Forward_GXCheckStatus(data: Ptr; length: LONGINT; statusType: LONGINT; owner: gxOwnerSignature): OSErr; C;}
  2907.     type
  2908.         GXGetDeviceStatusProcPtr = ProcPtr;  { FUNCTION GXGetDeviceStatus(cmdData: Ptr; cmdSize: LONGINT; responseData: Ptr; VAR responseSize: LONGINT; VAR termination: Str255): OSErr; }
  2909.         GXGetDeviceStatusUPP = UniversalProcPtr;
  2910.  
  2911.     const
  2912.         uppGXGetDeviceStatusProcInfo = $0000FFE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2913.  
  2914.     function NewGXGetDeviceStatusProc (userRoutine: GXGetDeviceStatusProcPtr): GXGetDeviceStatusUPP;
  2915.     {$IFC NOT GENERATINGCFM }
  2916.     inline
  2917.         $2E9F;
  2918.     {$ENDC}
  2919.  
  2920.     function CallGXGetDeviceStatusProc (cmdData: Ptr; cmdSize: LONGINT; responseData: Ptr; var responseSize: LONGINT; var termination: Str255; userRoutine: GXGetDeviceStatusUPP): OSErr;
  2921.     {$IFC NOT GENERATINGCFM}
  2922.     inline
  2923.         $205F, $4E90;
  2924.     {$ENDC}
  2925.  
  2926.     type
  2927.         GXGetDeviceStatusProc = GXGetDeviceStatusUPP;
  2928.  
  2929.  
  2930. {FUNCTION Send_GXGetDeviceStatus(cmdData: Ptr; cmdSize: LONGINT; responseData: Ptr; VAR responseSize: LONGINT; VAR termination: Str255): OSErr; C;}
  2931. {FUNCTION Forward_GXGetDeviceStatus(cmdData: Ptr; cmdSize: LONGINT; responseData: Ptr; VAR responseSize: LONGINT; VAR termination: Str255): OSErr; C;}
  2932.     type
  2933.         GXFetchTaggedDataProcPtr = ProcPtr;  { FUNCTION GXFetchTaggedData(theType: ResType; id: LONGINT; VAR dataHdl: Handle; owner: gxOwnerSignature): OSErr; }
  2934.         GXFetchTaggedDataUPP = UniversalProcPtr;
  2935.  
  2936.     const
  2937.         uppGXFetchTaggedDataProcInfo = $00003FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  2938.  
  2939.     function NewGXFetchTaggedDataProc (userRoutine: GXFetchTaggedDataProcPtr): GXFetchTaggedDataUPP;
  2940.     {$IFC NOT GENERATINGCFM }
  2941.     inline
  2942.         $2E9F;
  2943.     {$ENDC}
  2944.  
  2945.     function CallGXFetchTaggedDataProc (theType: ResType; id: LONGINT; var dataHdl: Handle; owner: gxOwnerSignature; userRoutine: GXFetchTaggedDataUPP): OSErr;
  2946.     {$IFC NOT GENERATINGCFM}
  2947.     inline
  2948.         $205F, $4E90;
  2949.     {$ENDC}
  2950.  
  2951.     type
  2952.         GXFetchTaggedDataProc = GXFetchTaggedDataUPP;
  2953.  
  2954.  
  2955. {FUNCTION Send_GXFetchTaggedData(theType: ResType; id: LONGINT; VAR dataHdl: Handle; owner: gxOwnerSignature): OSErr; C;}
  2956. {FUNCTION Forward_GXFetchTaggedData(theType: ResType; id: LONGINT; VAR dataHdl: Handle; owner: gxOwnerSignature): OSErr; C;}
  2957.     type
  2958.         GXGetDTPMenuListProcPtr = ProcPtr;  { FUNCTION GXGetDTPMenuList(menuHdl: MenuHandle): OSErr; }
  2959.         GXGetDTPMenuListUPP = UniversalProcPtr;
  2960.  
  2961.     const
  2962.         uppGXGetDTPMenuListProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  2963.  
  2964.     function NewGXGetDTPMenuListProc (userRoutine: GXGetDTPMenuListProcPtr): GXGetDTPMenuListUPP;
  2965.     {$IFC NOT GENERATINGCFM }
  2966.     inline
  2967.         $2E9F;
  2968.     {$ENDC}
  2969.  
  2970.     function CallGXGetDTPMenuListProc (menuHdl: MenuHandle; userRoutine: GXGetDTPMenuListUPP): OSErr;
  2971.     {$IFC NOT GENERATINGCFM}
  2972.     inline
  2973.         $205F, $4E90;
  2974.     {$ENDC}
  2975.  
  2976.     type
  2977.         GXGetDTPMenuListProc = GXGetDTPMenuListUPP;
  2978.  
  2979.  
  2980. {FUNCTION Send_GXGetDTPMenuList(menuHdl: MenuHandle): OSErr; C;}
  2981. {FUNCTION Forward_GXGetDTPMenuList(menuHdl: MenuHandle): OSErr; C;}
  2982.     type
  2983.         GXDTPMenuSelectProcPtr = ProcPtr;  { FUNCTION GXDTPMenuSelect(id: LONGINT): OSErr; }
  2984.         GXDTPMenuSelectUPP = UniversalProcPtr;
  2985.  
  2986.     const
  2987.         uppGXDTPMenuSelectProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  2988.  
  2989.     function NewGXDTPMenuSelectProc (userRoutine: GXDTPMenuSelectProcPtr): GXDTPMenuSelectUPP;
  2990.     {$IFC NOT GENERATINGCFM }
  2991.     inline
  2992.         $2E9F;
  2993.     {$ENDC}
  2994.  
  2995.     function CallGXDTPMenuSelectProc (id: LONGINT; userRoutine: GXDTPMenuSelectUPP): OSErr;
  2996.     {$IFC NOT GENERATINGCFM}
  2997.     inline
  2998.         $205F, $4E90;
  2999.     {$ENDC}
  3000.  
  3001.     type
  3002.         GXDTPMenuSelectProc = GXDTPMenuSelectUPP;
  3003.  
  3004.  
  3005. {FUNCTION Send_GXDTPMenuSelect(id: LONGINT): OSErr; C;}
  3006. {FUNCTION Forward_GXDTPMenuSelect(id: LONGINT): OSErr; C;}
  3007.     type
  3008.         GXHandleAlertFilterProcPtr = ProcPtr;  { FUNCTION GXHandleAlertFilter(theJob: gxJob; VAR pStatusRec: gxStatusRecord; pDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER; VAR returnImmed: BOOLEAN): OSErr; }
  3009.         GXHandleAlertFilterUPP = UniversalProcPtr;
  3010.  
  3011.     const
  3012.         uppGXHandleAlertFilterProcInfo = $0003FFE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  3013.  
  3014.     function NewGXHandleAlertFilterProc (userRoutine: GXHandleAlertFilterProcPtr): GXHandleAlertFilterUPP;
  3015.     {$IFC NOT GENERATINGCFM }
  3016.     inline
  3017.         $2E9F;
  3018.     {$ENDC}
  3019.  
  3020.     function CallGXHandleAlertFilterProc (theJob: gxJob; var pStatusRec: gxStatusRecord; pDialog: DialogPtr; var theEvent: EventRecord; var itemHit: INTEGER; var returnImmed: BOOLEAN; userRoutine: GXHandleAlertFilterUPP): OSErr;
  3021.     {$IFC NOT GENERATINGCFM}
  3022.     inline
  3023.         $205F, $4E90;
  3024.     {$ENDC}
  3025.  
  3026.     type
  3027.         GXHandleAlertFilterProc = GXHandleAlertFilterUPP;
  3028.  
  3029.  
  3030. {FUNCTION Send_GXHandleAlertFilter(theJob: gxJob; VAR pStatusRec: gxStatusRecord; pDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER; VAR returnImmed: BOOLEAN): OSErr; C;}
  3031. {FUNCTION Forward_GXHandleAlertFilter(theJob: gxJob; VAR pStatusRec: gxStatusRecord; pDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER; VAR returnImmed: BOOLEAN): OSErr; C;}
  3032.     type
  3033.         GXJobFormatModeQueryProcPtr = ProcPtr;  { FUNCTION GXJobFormatModeQuery(theQuery: gxQueryType; srcData: UNIV Ptr; dstData: UNIV Ptr): OSErr; }
  3034.         GXJobFormatModeQueryUPP = UniversalProcPtr;
  3035.  
  3036.     const
  3037.         uppGXJobFormatModeQueryProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  3038.  
  3039.     function NewGXJobFormatModeQueryProc (userRoutine: GXJobFormatModeQueryProcPtr): GXJobFormatModeQueryUPP;
  3040.     {$IFC NOT GENERATINGCFM }
  3041.     inline
  3042.         $2E9F;
  3043.     {$ENDC}
  3044.  
  3045.     function CallGXJobFormatModeQueryProc (theQuery: gxQueryType; srcData: univ Ptr; dstData: univ Ptr; userRoutine: GXJobFormatModeQueryUPP): OSErr;
  3046.     {$IFC NOT GENERATINGCFM}
  3047.     inline
  3048.         $205F, $4E90;
  3049.     {$ENDC}
  3050.  
  3051.     type
  3052.         GXJobFormatModeQueryProc = GXJobFormatModeQueryUPP;
  3053.  
  3054.  
  3055. {FUNCTION Send_GXJobFormatModeQuery(theQuery: gxQueryType; srcData: UNIV Ptr; dstData: UNIV Ptr): OSErr; C;}
  3056. {FUNCTION Forward_GXJobFormatModeQuery(theQuery: gxQueryType; srcData: UNIV Ptr; dstData: UNIV Ptr): OSErr; C;}
  3057.     type
  3058.         GXWriteStatusToDTPWindowProcPtr = ProcPtr;  { FUNCTION GXWriteStatusToDTPWindow(VAR pStatusRec: gxStatusRecord; VAR pDisplay: gxDisplayRecord): OSErr; }
  3059.         GXWriteStatusToDTPWindowUPP = UniversalProcPtr;
  3060.  
  3061.     const
  3062.         uppGXWriteStatusToDTPWindowProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  3063.  
  3064.     function NewGXWriteStatusToDTPWindowProc (userRoutine: GXWriteStatusToDTPWindowProcPtr): GXWriteStatusToDTPWindowUPP;
  3065.     {$IFC NOT GENERATINGCFM }
  3066.     inline
  3067.         $2E9F;
  3068.     {$ENDC}
  3069.  
  3070.     function CallGXWriteStatusToDTPWindowProc (var pStatusRec: gxStatusRecord; var pDisplay: gxDisplayRecord; userRoutine: GXWriteStatusToDTPWindowUPP): OSErr;
  3071.     {$IFC NOT GENERATINGCFM}
  3072.     inline
  3073.         $205F, $4E90;
  3074.     {$ENDC}
  3075.  
  3076.     type
  3077.         GXWriteStatusToDTPWindowProc = GXWriteStatusToDTPWindowUPP;
  3078.  
  3079.  
  3080. {FUNCTION Send_GXWriteStatusToDTPWindow(VAR pStatusRec: gxStatusRecord; VAR pDisplay: gxDisplayRecord): OSErr; C;}
  3081. {FUNCTION Forward_GXWriteStatusToDTPWindow(VAR pStatusRec: gxStatusRecord; VAR pDisplay: gxDisplayRecord): OSErr; C;}
  3082.     type
  3083.         GXInitializeStatusAlertProcPtr = ProcPtr;  { FUNCTION GXInitializeStatusAlert(VAR pStatusRec: gxStatusRecord; VAR pDialog: DialogPtr): OSErr; }
  3084.         GXInitializeStatusAlertUPP = UniversalProcPtr;
  3085.  
  3086.     const
  3087.         uppGXInitializeStatusAlertProcInfo = $000003E1; { FUNCTION (4 byte param, 4 byte param): 2 byte result; }
  3088.  
  3089.     function NewGXInitializeStatusAlertProc (userRoutine: GXInitializeStatusAlertProcPtr): GXInitializeStatusAlertUPP;
  3090.     {$IFC NOT GENERATINGCFM }
  3091.     inline
  3092.         $2E9F;
  3093.     {$ENDC}
  3094.  
  3095.     function CallGXInitializeStatusAlertProc (var pStatusRec: gxStatusRecord; var pDialog: DialogPtr; userRoutine: GXInitializeStatusAlertUPP): OSErr;
  3096.     {$IFC NOT GENERATINGCFM}
  3097.     inline
  3098.         $205F, $4E90;
  3099.     {$ENDC}
  3100.  
  3101.     type
  3102.         GXInitializeStatusAlertProc = GXInitializeStatusAlertUPP;
  3103.  
  3104.  
  3105. {FUNCTION Send_GXInitializeStatusAlert(VAR pStatusRec: gxStatusRecord; VAR pDialog: DialogPtr): OSErr; C;}
  3106. {FUNCTION Forward_GXInitializeStatusAlert(VAR pStatusRec: gxStatusRecord; VAR pDialog: DialogPtr): OSErr; C;}
  3107.     type
  3108.         GXHandleAlertStatusProcPtr = ProcPtr;  { FUNCTION GXHandleAlertStatus(VAR pStatusRec: gxStatusRecord): OSErr; }
  3109.         GXHandleAlertStatusUPP = UniversalProcPtr;
  3110.  
  3111.     const
  3112.         uppGXHandleAlertStatusProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  3113.  
  3114.     function NewGXHandleAlertStatusProc (userRoutine: GXHandleAlertStatusProcPtr): GXHandleAlertStatusUPP;
  3115.     {$IFC NOT GENERATINGCFM }
  3116.     inline
  3117.         $2E9F;
  3118.     {$ENDC}
  3119.  
  3120.     function CallGXHandleAlertStatusProc (var pStatusRec: gxStatusRecord; userRoutine: GXHandleAlertStatusUPP): OSErr;
  3121.     {$IFC NOT GENERATINGCFM}
  3122.     inline
  3123.         $205F, $4E90;
  3124.     {$ENDC}
  3125.  
  3126.     type
  3127.         GXHandleAlertStatusProc = GXHandleAlertStatusUPP;
  3128.  
  3129.  
  3130. {FUNCTION Send_GXHandleAlertStatus(VAR pStatusRec: gxStatusRecord): OSErr; C;}
  3131. {FUNCTION Forward_GXHandleAlertStatus(VAR pStatusRec: gxStatusRecord): OSErr; C;}
  3132.     type
  3133.         GXHandleAlertEventProcPtr = ProcPtr;  { FUNCTION GXHandleAlertEvent(VAR pStatusRec: gxStatusRecord; pDialog: DialogPtr; VAR theEvent: EventRecord; VAR response: INTEGER): OSErr; }
  3134.         GXHandleAlertEventUPP = UniversalProcPtr;
  3135.  
  3136.     const
  3137.         uppGXHandleAlertEventProcInfo = $00003FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  3138.  
  3139.     function NewGXHandleAlertEventProc (userRoutine: GXHandleAlertEventProcPtr): GXHandleAlertEventUPP;
  3140.     {$IFC NOT GENERATINGCFM }
  3141.     inline
  3142.         $2E9F;
  3143.     {$ENDC}
  3144.  
  3145.     function CallGXHandleAlertEventProc (var pStatusRec: gxStatusRecord; pDialog: DialogPtr; var theEvent: EventRecord; var response: INTEGER; userRoutine: GXHandleAlertEventUPP): OSErr;
  3146.     {$IFC NOT GENERATINGCFM}
  3147.     inline
  3148.         $205F, $4E90;
  3149.     {$ENDC}
  3150.  
  3151.     type
  3152.         GXHandleAlertEventProc = GXHandleAlertEventUPP;
  3153.  
  3154.  
  3155. {FUNCTION Send_GXHandleAlertEvent(VAR pStatusRec: gxStatusRecord; pDialog: DialogPtr; VAR theEvent: EventRecord; VAR response: INTEGER): OSErr; C;}
  3156. {FUNCTION Forward_GXHandleAlertEvent(VAR pStatusRec: gxStatusRecord; pDialog: DialogPtr; VAR theEvent: EventRecord; VAR response: INTEGER): OSErr; C;}
  3157.     type
  3158.         GXCleanupStartJobProcPtr = ProcPtr;  { PROCEDURE GXCleanupStartJob; }
  3159.         GXCleanupStartJobUPP = UniversalProcPtr;
  3160.  
  3161.     const
  3162.         uppGXCleanupStartJobProcInfo = $00000001; { PROCEDURE ; }
  3163.  
  3164.     function NewGXCleanupStartJobProc (userRoutine: GXCleanupStartJobProcPtr): GXCleanupStartJobUPP;
  3165.     {$IFC NOT GENERATINGCFM }
  3166.     inline
  3167.         $2E9F;
  3168.     {$ENDC}
  3169.  
  3170.     procedure CallGXCleanupStartJobProc (userRoutine: GXCleanupStartJobUPP);
  3171.     {$IFC NOT GENERATINGCFM}
  3172.     inline
  3173.         $205F, $4E90;
  3174.     {$ENDC}
  3175.  
  3176.     type
  3177.         GXCleanupStartJobProc = GXCleanupStartJobUPP;
  3178.  
  3179.  
  3180. {PROCEDURE Send_GXCleanupStartJob; C;}
  3181. {PROCEDURE Forward_GXCleanupStartJob; C;}
  3182.     type
  3183.         GXCleanupStartPageProcPtr = ProcPtr;  { PROCEDURE GXCleanupStartPage; }
  3184.         GXCleanupStartPageUPP = UniversalProcPtr;
  3185.  
  3186.     const
  3187.         uppGXCleanupStartPageProcInfo = $00000001; { PROCEDURE ; }
  3188.  
  3189.     function NewGXCleanupStartPageProc (userRoutine: GXCleanupStartPageProcPtr): GXCleanupStartPageUPP;
  3190.     {$IFC NOT GENERATINGCFM }
  3191.     inline
  3192.         $2E9F;
  3193.     {$ENDC}
  3194.  
  3195.     procedure CallGXCleanupStartPageProc (userRoutine: GXCleanupStartPageUPP);
  3196.     {$IFC NOT GENERATINGCFM}
  3197.     inline
  3198.         $205F, $4E90;
  3199.     {$ENDC}
  3200.  
  3201.     type
  3202.         GXCleanupStartPageProc = GXCleanupStartPageUPP;
  3203.  
  3204.  
  3205. {PROCEDURE Send_GXCleanupStartPage; C;}
  3206. {PROCEDURE Forward_GXCleanupStartPage; C;}
  3207.     type
  3208.         GXCleanupOpenConnectionProcPtr = ProcPtr;  { PROCEDURE GXCleanupOpenConnection; }
  3209.         GXCleanupOpenConnectionUPP = UniversalProcPtr;
  3210.  
  3211.     const
  3212.         uppGXCleanupOpenConnectionProcInfo = $00000001; { PROCEDURE ; }
  3213.  
  3214.     function NewGXCleanupOpenConnectionProc (userRoutine: GXCleanupOpenConnectionProcPtr): GXCleanupOpenConnectionUPP;
  3215.     {$IFC NOT GENERATINGCFM }
  3216.     inline
  3217.         $2E9F;
  3218.     {$ENDC}
  3219.  
  3220.     procedure CallGXCleanupOpenConnectionProc (userRoutine: GXCleanupOpenConnectionUPP);
  3221.     {$IFC NOT GENERATINGCFM}
  3222.     inline
  3223.         $205F, $4E90;
  3224.     {$ENDC}
  3225.  
  3226.     type
  3227.         GXCleanupOpenConnectionProc = GXCleanupOpenConnectionUPP;
  3228.  
  3229.  
  3230. {PROCEDURE Send_GXCleanupOpenConnection; C;}
  3231. {PROCEDURE Forward_GXCleanupOpenConnection; C;}
  3232.     type
  3233.         GXCleanupStartSendPageProcPtr = ProcPtr;  { PROCEDURE GXCleanupStartSendPage; }
  3234.         GXCleanupStartSendPageUPP = UniversalProcPtr;
  3235.  
  3236.     const
  3237.         uppGXCleanupStartSendPageProcInfo = $00000001; { PROCEDURE ; }
  3238.  
  3239.     function NewGXCleanupStartSendPageProc (userRoutine: GXCleanupStartSendPageProcPtr): GXCleanupStartSendPageUPP;
  3240.     {$IFC NOT GENERATINGCFM }
  3241.     inline
  3242.         $2E9F;
  3243.     {$ENDC}
  3244.  
  3245.     procedure CallGXCleanupStartSendPageProc (userRoutine: GXCleanupStartSendPageUPP);
  3246.     {$IFC NOT GENERATINGCFM}
  3247.     inline
  3248.         $205F, $4E90;
  3249.     {$ENDC}
  3250.  
  3251.     type
  3252.         GXCleanupStartSendPageProc = GXCleanupStartSendPageUPP;
  3253.  
  3254.  
  3255. {PROCEDURE Send_GXCleanupStartSendPage; C;}
  3256. {PROCEDURE Forward_GXCleanupStartSendPage; C;}
  3257.     type
  3258.         GXDefaultDesktopPrinterProcPtr = ProcPtr;  { FUNCTION GXDefaultDesktopPrinter(VAR dtpName: Str31): OSErr; }
  3259.         GXDefaultDesktopPrinterUPP = UniversalProcPtr;
  3260.  
  3261.     const
  3262.         uppGXDefaultDesktopPrinterProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  3263.  
  3264.     function NewGXDefaultDesktopPrinterProc (userRoutine: GXDefaultDesktopPrinterProcPtr): GXDefaultDesktopPrinterUPP;
  3265.     {$IFC NOT GENERATINGCFM }
  3266.     inline
  3267.         $2E9F;
  3268.     {$ENDC}
  3269.  
  3270.     function CallGXDefaultDesktopPrinterProc (var dtpName: Str31; userRoutine: GXDefaultDesktopPrinterUPP): OSErr;
  3271.     {$IFC NOT GENERATINGCFM}
  3272.     inline
  3273.         $205F, $4E90;
  3274.     {$ENDC}
  3275.  
  3276.     type
  3277.         GXDefaultDesktopPrinterProc = GXDefaultDesktopPrinterUPP;
  3278.  
  3279.  
  3280. {FUNCTION Send_GXDefaultDesktopPrinter(VAR dtpName: Str31): OSErr; C;}
  3281. {FUNCTION Forward_GXDefaultDesktopPrinter(VAR dtpName: Str31): OSErr; C;}
  3282.     type
  3283.         GXCaptureOutputDeviceProcPtr = ProcPtr;  { FUNCTION GXCaptureOutputDevice(capture: BOOLEAN): OSErr; }
  3284.         GXCaptureOutputDeviceUPP = UniversalProcPtr;
  3285.  
  3286.     const
  3287.         uppGXCaptureOutputDeviceProcInfo = $00000061; { FUNCTION (1 byte param): 2 byte result; }
  3288.  
  3289.     function NewGXCaptureOutputDeviceProc (userRoutine: GXCaptureOutputDeviceProcPtr): GXCaptureOutputDeviceUPP;
  3290.     {$IFC NOT GENERATINGCFM }
  3291.     inline
  3292.         $2E9F;
  3293.     {$ENDC}
  3294.  
  3295.     function CallGXCaptureOutputDeviceProc (capture: BOOLEAN; userRoutine: GXCaptureOutputDeviceUPP): OSErr;
  3296.     {$IFC NOT GENERATINGCFM}
  3297.     inline
  3298.         $205F, $4E90;
  3299.     {$ENDC}
  3300.  
  3301.     type
  3302.         GXCaptureOutputDeviceProc = GXCaptureOutputDeviceUPP;
  3303.  
  3304.  
  3305. {FUNCTION Send_GXCaptureOutputDevice(capture: BOOLEAN): OSErr; C;}
  3306. {FUNCTION Forward_GXCaptureOutputDevice(capture: BOOLEAN): OSErr; C;}
  3307.     type
  3308.         GXOpenConnectionRetryProcPtr = ProcPtr;  { FUNCTION GXOpenConnectionRetry(theType: ResType; aVoid: UNIV Ptr; VAR retryopenPtr: BOOLEAN; anErr: OSErr): OSErr; }
  3309.         GXOpenConnectionRetryUPP = UniversalProcPtr;
  3310.  
  3311.     const
  3312.         uppGXOpenConnectionRetryProcInfo = $00002FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 2 byte param): 2 byte result; }
  3313.  
  3314.     function NewGXOpenConnectionRetryProc (userRoutine: GXOpenConnectionRetryProcPtr): GXOpenConnectionRetryUPP;
  3315.     {$IFC NOT GENERATINGCFM }
  3316.     inline
  3317.         $2E9F;
  3318.     {$ENDC}
  3319.  
  3320.     function CallGXOpenConnectionRetryProc (theType: ResType; aVoid: univ Ptr; var retryopenPtr: BOOLEAN; anErr: OSErr; userRoutine: GXOpenConnectionRetryUPP): OSErr;
  3321.     {$IFC NOT GENERATINGCFM}
  3322.     inline
  3323.         $205F, $4E90;
  3324.     {$ENDC}
  3325.  
  3326.     type
  3327.         GXOpenConnectionRetryProc = GXOpenConnectionRetryUPP;
  3328.  
  3329.  
  3330. {FUNCTION Send_GXOpenConnectionRetry(theType: ResType; aVoid: UNIV Ptr; VAR retryopenPtr: BOOLEAN; anErr: OSErr): OSErr; C;}
  3331. {FUNCTION Forward_GXOpenConnectionRetry(theType: ResType; aVoid: UNIV Ptr; VAR retryopenPtr: BOOLEAN; anErr: OSErr): OSErr; C;}
  3332.     type
  3333.         GXExamineSpoolFileProcPtr = ProcPtr;  { FUNCTION GXExamineSpoolFile(theSpoolFile: gxSpoolFile): OSErr; }
  3334.         GXExamineSpoolFileUPP = UniversalProcPtr;
  3335.  
  3336.     const
  3337.         uppGXExamineSpoolFileProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  3338.  
  3339.     function NewGXExamineSpoolFileProc (userRoutine: GXExamineSpoolFileProcPtr): GXExamineSpoolFileUPP;
  3340.     {$IFC NOT GENERATINGCFM }
  3341.     inline
  3342.         $2E9F;
  3343.     {$ENDC}
  3344.  
  3345.     function CallGXExamineSpoolFileProc (theSpoolFile: gxSpoolFile; userRoutine: GXExamineSpoolFileUPP): OSErr;
  3346.     {$IFC NOT GENERATINGCFM}
  3347.     inline
  3348.         $205F, $4E90;
  3349.     {$ENDC}
  3350.  
  3351.     type
  3352.         GXExamineSpoolFileProc = GXExamineSpoolFileUPP;
  3353.  
  3354.  
  3355. {FUNCTION Send_GXExamineSpoolFile(theSpoolFile: gxSpoolFile): OSErr; C;}
  3356. {FUNCTION Forward_GXExamineSpoolFile(theSpoolFile: gxSpoolFile): OSErr; C;}
  3357.     type
  3358.         GXFinishSendPlaneProcPtr = ProcPtr;  { FUNCTION GXFinishSendPlane: OSErr; }
  3359.         GXFinishSendPlaneUPP = UniversalProcPtr;
  3360.  
  3361.     const
  3362.         uppGXFinishSendPlaneProcInfo = $00000021; { FUNCTION : 2 byte result; }
  3363.  
  3364.     function NewGXFinishSendPlaneProc (userRoutine: GXFinishSendPlaneProcPtr): GXFinishSendPlaneUPP;
  3365.     {$IFC NOT GENERATINGCFM }
  3366.     inline
  3367.         $2E9F;
  3368.     {$ENDC}
  3369.  
  3370.     function CallGXFinishSendPlaneProc (userRoutine: GXFinishSendPlaneUPP): OSErr;
  3371.     {$IFC NOT GENERATINGCFM}
  3372.     inline
  3373.         $205F, $4E90;
  3374.     {$ENDC}
  3375.  
  3376.     type
  3377.         GXFinishSendPlaneProc = GXFinishSendPlaneUPP;
  3378.  
  3379.  
  3380. {FUNCTION Send_GXFinishSendPlane: OSErr; C;}
  3381. {FUNCTION Forward_GXFinishSendPlane: OSErr; C;}
  3382.     type
  3383.         GXDoesPaperFitProcPtr = ProcPtr;  { FUNCTION GXDoesPaperFit(whichTray: gxTrayIndex; paper: gxPaperType; VAR fits: BOOLEAN): OSErr; }
  3384.         GXDoesPaperFitUPP = UniversalProcPtr;
  3385.  
  3386.     const
  3387.         uppGXDoesPaperFitProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  3388.  
  3389.     function NewGXDoesPaperFitProc (userRoutine: GXDoesPaperFitProcPtr): GXDoesPaperFitUPP;
  3390.     {$IFC NOT GENERATINGCFM }
  3391.     inline
  3392.         $2E9F;
  3393.     {$ENDC}
  3394.  
  3395.     function CallGXDoesPaperFitProc (whichTray: gxTrayIndex; paper: gxPaperType; var fits: BOOLEAN; userRoutine: GXDoesPaperFitUPP): OSErr;
  3396.     {$IFC NOT GENERATINGCFM}
  3397.     inline
  3398.         $205F, $4E90;
  3399.     {$ENDC}
  3400.  
  3401.     type
  3402.         GXDoesPaperFitProc = GXDoesPaperFitUPP;
  3403.  
  3404.  
  3405. {FUNCTION Send_GXDoesPaperFit(whichTray: gxTrayIndex; paper: gxPaperType; VAR fits: BOOLEAN): OSErr; C;}
  3406. {FUNCTION Forward_GXDoesPaperFit(whichTray: gxTrayIndex; paper: gxPaperType; VAR fits: BOOLEAN): OSErr; C;}
  3407.     type
  3408.         GXChooserMessageProcPtr = ProcPtr;  { FUNCTION GXChooserMessage(message: LONGINT; caller: LONGINT; objName: StringPtr; zoneName: StringPtr; theList: ListHandle; p2: LONGINT): OSErr; }
  3409.         GXChooserMessageUPP = UniversalProcPtr;
  3410.  
  3411.     const
  3412.         uppGXChooserMessageProcInfo = $0003FFE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  3413.  
  3414.     function NewGXChooserMessageProc (userRoutine: GXChooserMessageProcPtr): GXChooserMessageUPP;
  3415.     {$IFC NOT GENERATINGCFM }
  3416.     inline
  3417.         $2E9F;
  3418.     {$ENDC}
  3419.  
  3420.     function CallGXChooserMessageProc (message: LONGINT; caller: LONGINT; objName: StringPtr; zoneName: StringPtr; theList: ListHandle; p2: LONGINT; userRoutine: GXChooserMessageUPP): OSErr;
  3421.     {$IFC NOT GENERATINGCFM}
  3422.     inline
  3423.         $205F, $4E90;
  3424.     {$ENDC}
  3425.  
  3426.     type
  3427.         GXChooserMessageProc = GXChooserMessageUPP;
  3428.  
  3429.  
  3430. {FUNCTION Send_GXChooserMessage(message: LONGINT; caller: LONGINT; objName: StringPtr; zoneName: StringPtr; theList: ListHandle; p2: LONGINT): OSErr; C;}
  3431. {FUNCTION Forward_GXChooserMessage(message: LONGINT; caller: LONGINT; objName: StringPtr; zoneName: StringPtr; theList: ListHandle; p2: LONGINT): OSErr; C;}
  3432.     type
  3433.         GXFindPrinterProfileProcPtr = ProcPtr;  { FUNCTION GXFindPrinterProfile(thePrinter: gxPrinter; searchData: UNIV Ptr; index: LONGINT; VAR returnedProfile: gxColorProfile; VAR numProfiles: LONGINT): OSErr; }
  3434.         GXFindPrinterProfileUPP = UniversalProcPtr;
  3435.  
  3436.     const
  3437.         uppGXFindPrinterProfileProcInfo = $0000FFE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  3438.  
  3439.     function NewGXFindPrinterProfileProc (userRoutine: GXFindPrinterProfileProcPtr): GXFindPrinterProfileUPP;
  3440.     {$IFC NOT GENERATINGCFM }
  3441.     inline
  3442.         $2E9F;
  3443.     {$ENDC}
  3444.  
  3445.     function CallGXFindPrinterProfileProc (thePrinter: gxPrinter; searchData: univ Ptr; index: LONGINT; var returnedProfile: gxColorProfile; var numProfiles: LONGINT; userRoutine: GXFindPrinterProfileUPP): OSErr;
  3446.     {$IFC NOT GENERATINGCFM}
  3447.     inline
  3448.         $205F, $4E90;
  3449.     {$ENDC}
  3450.  
  3451.     type
  3452.         GXFindPrinterProfileProc = GXFindPrinterProfileUPP;
  3453.  
  3454.  
  3455. {FUNCTION Send_GXFindPrinterProfile(thePrinter: gxPrinter; searchData: UNIV Ptr; index: LONGINT; VAR returnedProfile: gxColorProfile; VAR numProfiles: LONGINT): OSErr; C;}
  3456. {FUNCTION Forward_GXFindPrinterProfile(thePrinter: gxPrinter; searchData: UNIV Ptr; index: LONGINT; VAR returnedProfile: gxColorProfile; VAR numProfiles: LONGINT): OSErr; C;}
  3457.     type
  3458.         GXFindFormatProfileProcPtr = ProcPtr;  { FUNCTION GXFindFormatProfile(theFormat: gxFormat; searchData: UNIV Ptr; index: LONGINT; VAR returnedProfile: gxColorProfile; VAR numProfiles: LONGINT): OSErr; }
  3459.         GXFindFormatProfileUPP = UniversalProcPtr;
  3460.  
  3461.     const
  3462.         uppGXFindFormatProfileProcInfo = $0000FFE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  3463.  
  3464.     function NewGXFindFormatProfileProc (userRoutine: GXFindFormatProfileProcPtr): GXFindFormatProfileUPP;
  3465.     {$IFC NOT GENERATINGCFM }
  3466.     inline
  3467.         $2E9F;
  3468.     {$ENDC}
  3469.  
  3470.     function CallGXFindFormatProfileProc (theFormat: gxFormat; searchData: univ Ptr; index: LONGINT; var returnedProfile: gxColorProfile; var numProfiles: LONGINT; userRoutine: GXFindFormatProfileUPP): OSErr;
  3471.     {$IFC NOT GENERATINGCFM}
  3472.     inline
  3473.         $205F, $4E90;
  3474.     {$ENDC}
  3475.  
  3476.     type
  3477.         GXFindFormatProfileProc = GXFindFormatProfileUPP;
  3478.  
  3479.  
  3480. {FUNCTION Send_GXFindFormatProfile(theFormat: gxFormat; searchData: UNIV Ptr; index: LONGINT; VAR returnedProfile: gxColorProfile; VAR numProfiles: LONGINT): OSErr; C;}
  3481. {FUNCTION Forward_GXFindFormatProfile(theFormat: gxFormat; searchData: UNIV Ptr; index: LONGINT; VAR returnedProfile: gxColorProfile; VAR numProfiles: LONGINT): OSErr; C;}
  3482.     type
  3483.         GXSetPrinterProfileProcPtr = ProcPtr;  { FUNCTION GXSetPrinterProfile(thePrinter: gxPrinter; oldProfile: gxColorProfile; newProfile: gxColorProfile): OSErr; }
  3484.         GXSetPrinterProfileUPP = UniversalProcPtr;
  3485.  
  3486.     const
  3487.         uppGXSetPrinterProfileProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  3488.  
  3489.     function NewGXSetPrinterProfileProc (userRoutine: GXSetPrinterProfileProcPtr): GXSetPrinterProfileUPP;
  3490.     {$IFC NOT GENERATINGCFM }
  3491.     inline
  3492.         $2E9F;
  3493.     {$ENDC}
  3494.  
  3495.     function CallGXSetPrinterProfileProc (thePrinter: gxPrinter; oldProfile: gxColorProfile; newProfile: gxColorProfile; userRoutine: GXSetPrinterProfileUPP): OSErr;
  3496.     {$IFC NOT GENERATINGCFM}
  3497.     inline
  3498.         $205F, $4E90;
  3499.     {$ENDC}
  3500.  
  3501.     type
  3502.         GXSetPrinterProfileProc = GXSetPrinterProfileUPP;
  3503.  
  3504.  
  3505. {FUNCTION Send_GXSetPrinterProfile(thePrinter: gxPrinter; oldProfile: gxColorProfile; newProfile: gxColorProfile): OSErr; C;}
  3506. {FUNCTION Forward_GXSetPrinterProfile(thePrinter: gxPrinter; oldProfile: gxColorProfile; newProfile: gxColorProfile): OSErr; C;}
  3507.     type
  3508.         GXSetFormatProfileProcPtr = ProcPtr;  { FUNCTION GXSetFormatProfile(theFormat: gxFormat; oldProfile: gxColorProfile; newProfile: gxColorProfile): OSErr; }
  3509.         GXSetFormatProfileUPP = UniversalProcPtr;
  3510.  
  3511.     const
  3512.         uppGXSetFormatProfileProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  3513.  
  3514.     function NewGXSetFormatProfileProc (userRoutine: GXSetFormatProfileProcPtr): GXSetFormatProfileUPP;
  3515.     {$IFC NOT GENERATINGCFM }
  3516.     inline
  3517.         $2E9F;
  3518.     {$ENDC}
  3519.  
  3520.     function CallGXSetFormatProfileProc (theFormat: gxFormat; oldProfile: gxColorProfile; newProfile: gxColorProfile; userRoutine: GXSetFormatProfileUPP): OSErr;
  3521.     {$IFC NOT GENERATINGCFM}
  3522.     inline
  3523.         $205F, $4E90;
  3524.     {$ENDC}
  3525.  
  3526.     type
  3527.         GXSetFormatProfileProc = GXSetFormatProfileUPP;
  3528.  
  3529.  
  3530. {FUNCTION Send_GXSetFormatProfile(theFormat: gxFormat; oldProfile: gxColorProfile; newProfile: gxColorProfile): OSErr; C;}
  3531. {FUNCTION Forward_GXSetFormatProfile(theFormat: gxFormat; oldProfile: gxColorProfile; newProfile: gxColorProfile): OSErr; C;}
  3532.     type
  3533.         GXHandleAltDestinationProcPtr = ProcPtr;  { FUNCTION GXHandleAltDestination(VAR userCancels: BOOLEAN): OSErr; }
  3534.         GXHandleAltDestinationUPP = UniversalProcPtr;
  3535.  
  3536.     const
  3537.         uppGXHandleAltDestinationProcInfo = $000000E1; { FUNCTION (4 byte param): 2 byte result; }
  3538.  
  3539.     function NewGXHandleAltDestinationProc (userRoutine: GXHandleAltDestinationProcPtr): GXHandleAltDestinationUPP;
  3540.     {$IFC NOT GENERATINGCFM }
  3541.     inline
  3542.         $2E9F;
  3543.     {$ENDC}
  3544.  
  3545.     function CallGXHandleAltDestinationProc (var userCancels: BOOLEAN; userRoutine: GXHandleAltDestinationUPP): OSErr;
  3546.     {$IFC NOT GENERATINGCFM}
  3547.     inline
  3548.         $205F, $4E90;
  3549.     {$ENDC}
  3550.  
  3551.     type
  3552.         GXHandleAltDestinationProc = GXHandleAltDestinationUPP;
  3553.  
  3554.  
  3555. {FUNCTION Send_GXHandleAltDestination(VAR userCancels: BOOLEAN): OSErr; C;}
  3556. {FUNCTION Forward_GXHandleAltDestination(VAR userCancels: BOOLEAN): OSErr; C;}
  3557.     type
  3558.         GXSetupPageImageDataProcPtr = ProcPtr;  { FUNCTION GXSetupPageImageData(theFormat: gxFormat; thePage: gxShape; imageData: UNIV Ptr): OSErr; }
  3559.         GXSetupPageImageDataUPP = UniversalProcPtr;
  3560.  
  3561.     const
  3562.         uppGXSetupPageImageDataProcInfo = $00000FE1; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  3563.  
  3564.     function NewGXSetupPageImageDataProc (userRoutine: GXSetupPageImageDataProcPtr): GXSetupPageImageDataUPP;
  3565.     {$IFC NOT GENERATINGCFM }
  3566.     inline
  3567.         $2E9F;
  3568.     {$ENDC}
  3569.  
  3570.     function CallGXSetupPageImageDataProc (theFormat: gxFormat; thePage: gxShape; imageData: univ Ptr; userRoutine: GXSetupPageImageDataUPP): OSErr;
  3571.     {$IFC NOT GENERATINGCFM}
  3572.     inline
  3573.         $205F, $4E90;
  3574.     {$ENDC}
  3575.  
  3576.     type
  3577.         GXSetupPageImageDataProc = GXSetupPageImageDataUPP;
  3578.  
  3579.  
  3580. {FUNCTION Send_GXSetupPageImageData(theFormat: gxFormat; thePage: gxShape; imageData: UNIV Ptr): OSErr; C;}
  3581. {FUNCTION Forward_GXSetupPageImageData(theFormat: gxFormat; thePage: gxShape; imageData: UNIV Ptr): OSErr; C;}
  3582. {******************************************************************}
  3583. {                    Start of old "GXPrintingErrors.h/a/p" interface file.}
  3584. {            *******************************************************************}
  3585.  
  3586.     const
  3587.         gxPrintingResultBase = -510;                            {First QuickDraw GX printing error code.}
  3588.  
  3589. {RESULT CODES FOR QUICKDRAW GX PRINTING OPERATIONS}
  3590.         gxAioTimeout = -510;        {-510 : Timeout condition occurred during operation}
  3591.         gxAioBadRqstState = -511;    {-511 : Async I/O request in invalid state for operation}
  3592.         gxAioBadConn = -512;    {-512 : Invalid Async I/O connection refnum}
  3593.         gxAioInvalidXfer = -513;    {-513 : Read data transfer structure contained bad values}
  3594.         gxAioNoRqstBlks = -514;    {-514 : No available request blocks to process request}
  3595.         gxAioNoDataXfer = -515;    {-515 : Data transfer structure pointer not specified}
  3596.         gxAioTooManyAutos = -516;    {-516 : Auto status request already active}
  3597.         gxAioNoAutoStat = -517;    {-517 : Connection not configured for auto status}
  3598.         gxAioBadRqstID = -518;    {-518 : Invalid I/O request identifier}
  3599.         gxAioCantKill = -519;    {-519 : Comm. protocol doesn't support I/O term}
  3600.         gxAioAlreadyExists = -520; {-520 : Protocol spec. data already specified}
  3601.         gxAioCantFind = -521; {-521 : Protocol spec. data does not exist}
  3602.         gxAioDeviceDisconn = -522; {-522 : Machine disconnected from printer}
  3603.         gxAioNotImplemented = -523; {-523 : Function not implemented}
  3604.         gxAioOpenPending = -524; {-524 : Opening a connection for protocol, but another open pending}
  3605.         gxAioNoProtocolData = -525; {-525 : No protocol specific data specified in request}
  3606.         gxAioRqstKilled = -526; {-526 : I/O request was terminated}
  3607.         gxBadBaudRate = -527; {-527 : Invalid baud rate specified}
  3608.         gxBadParity = -528; {-528 : Invalid parity specified}
  3609.         gxBadStopBits = -529; {-529 : Invalid stop bits specified}
  3610.         gxBadDataBits = -530; {-530 : Invalid data bits specified}
  3611.         gxBadPrinterName = -531; {-531 : Bad printer name specified}
  3612.         gxAioBadMsgType = -532; {-532 : Bad masType field in transfer info structure}
  3613.         gxAioCantFindDevice = -533; {-533 : Cannot locate target device}
  3614.         gxAioOutOfSeq = -534; {-534 : Non-atomic SCSI requests submitted out of sequence}
  3615.         gxPrIOAbortErr = -535; {-535 : I/O operation aborted}
  3616.         gxPrUserAbortErr = -536; {-536 : User aborted}
  3617.         gxCantAddPanelsNowErr = -537; {-537 : Can only add panels during driver switch or dialog setup}
  3618.         gxBadxdtlKeyErr = -538; {-538 : Unknown key for xdtl - must be radiobutton, etc}
  3619.         gxXdtlItemOutOfRangeErr = -539; {-539 : Referenced item does not belong to panel}
  3620.         gxNoActionButtonErr = -540; {-540 : Action button is nil}
  3621.         gxTitlesTooLongErr = -541; {-541 : Length of buttons exceeds alert maximum width}
  3622.         gxUnknownAlertVersionErr = -542; {-542 : Bad version for printing alerts}
  3623.         gxGBBufferTooSmallErr = -543; {-543 : Buffer too small.}
  3624.         gxInvalidPenTable = -544; {-544 : Invalid vector driver pen table.}
  3625.         gxIncompletePrintFileErr = -545; {-545 : Print file was not completely spooled}
  3626.         gxCrashedPrintFileErr = -546; {-546 : Print file is corrupted}
  3627.         gxInvalidPrintFileVersion = -547; {-547 : Print file is incompatible with current QuickDraw GX version}
  3628.         gxSegmentLoadFailedErr = -548; {-548 : Segment loader error}
  3629.         gxExtensionNotFoundErr = -549; {-549 : Requested printing extension could not be found}
  3630.         gxDriverVersionErr = -550; {-550 : Driver too new for current version of QuickDraw GX}
  3631.         gxImagingSystemVersionErr = -551; {-551 : Imaging system too new for current version of QuickDraw GX}
  3632.         gxFlattenVersionTooNew = -552; {-552 : Flattened object format too new for current version of QDGX}
  3633.         gxPaperTypeNotFound = -553; {-553 : Requested papertype could not be found}
  3634.         gxNoSuchPTGroup = -554; {-554 : Requested papertype group could not be found}
  3635.         gxNotEnoughPrinterMemory = -555; {-555 : Printer does not have enough memory for fonts in document}
  3636.         gxDuplicatePanelNameErr = -556; {-556 : Attempt to add more than 10 panels with the same name}
  3637.         gxExtensionVersionErr = -557; {-557 : Extension too new for current version of QuickDraw GX}
  3638.  
  3639.  
  3640. { $ALIGN RESET}
  3641. { $POP}
  3642.  
  3643. {$ENDC}
  3644.  {__GXPRINTING__}
  3645.  
  3646. implementation
  3647. end.